|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2005
Messaggi: 37
|
INDICI
Salve, mi trovo d'avanti ad un problema e avrei bisogno del vostro aiuto.
Ho un problema che mi chiede di ricercare in un array di array di strighe una parola, anch'essa stringa (String s in questo caso) e di restituire l'indice di colonna della matrice dove la parola che metto come parametro si presenta più spesso e infine applicare l'indice all'array di array per visualizzare la la colonna. Es: ciao ciao xxxx ciao. Mi stampa a video poi: L'indice di colonna dove la parola di presenta più spesso e' 1 con i seguenti elementi: ciao ciao. Fondamentalmente questo non è un problema. Infatti: public static int maxOccorrenze(String [][] mat, String s) { int ris, max, contatore, comodo; comodo = 0; max = 0; ris = 0; int cont[]; cont = new int[mat[0].length]; for(int i=0; i<mat.length; i++) { for(int j=0; j<mat[0].length; j++) { if(mat[i][j].equals(s) && mat[i][j].length()==s.length()) { cont[j] = i; System.out.println(cont[j]); } max = cont[0]; for(int u = 0; u<cont.length; u++) { if(max<cont[u]) ris = max; else ris = cont[u]; } } } return ris; } cioè con questo metodo di classe io sostanzialmente conto quanta volte un indice si ripete e l'indice che si ripete più volte è 'ris'. Poi per stampare a video: public static void stampaColonna(String[][] mat, int j) { System.out.print(j + " che ha i seguenti elementi: "); for(int i=0; i<mat.length; i++) for(int r=0; r<mat[0].length; r++) if(i==j) System.out.println(mat[i][r]); E' da intendersi che ris e j sono la stessa cosa. Ma adesso le cose si complicano, ed è qui il mio problema. Perchè se ci sono colonne che hanno un numero di elementi uguali io devo stampare a video la colonna che ha indice minore. Per Es: ciao ciao ciao ciao xxx ciao ciao ciao vvv ciao ttt ciao E quindi ne metodo precedente j(o ris) = 1. Come posso far per risolvere questo problema? Spero di essere stato chiaro. Saluti. |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Nov 2005
Messaggi: 37
|
Qualcuno mi aiuta?
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:58.