Domanda:
devo trovare la stringa piu lunga di un testo!?
?
2011-05-13 02:19:52 UTC
come posso fare??
Tre risposte:
debby
2011-05-13 10:17:42 UTC
Mah.. non capisco cosa hai fatto tu sinceramente.

Mi sembra così facile...

Fai passare la stringa con i token e poni una variabile x = -2 all'inizio;

Ogni volta che hai un token dentro una stringa temporanea controlli che la sua lunghezza sia maggiore di x.

Se questa è maggiore di x modifichi x mettendoci al suo interno il valore della lunghezza della parola appena trovato.

Metti anche una variabile String Parola (nella dichiarazione a null) che ogni volta che effettui lo scambio della x la sostituisci con il token stesso.



Alla fine che hai fatto passare tutta la stringa avrai la parola con piu lettere.

Sarà Parola con x lettere...
Claudio P (Zipangulu)
2011-05-13 10:30:43 UTC
Ecco un mio esempio:

Se per stringa più lunga intendi la parola (eslusi spazi) più lunga del testo,questo codice va bene:



class TrovaParolaLunga{

public static String trovaParolaLunga (String testo) {

String [] arrayParole=testo.split(" ");

String parolaLunga=arrayParole[0];

for(int i=1;i
if(arrayParole[i].length() > parolaLunga.length() ) {

parolaLunga=arrayParole[i];

}

}

return parolaLunga;

}

//metodo main per avviare e testare il programma

public static void main(String [] args){

String testo=new javax.swing.JOptionPane( ).showInputDialog ( null , "Inserisci un testo" );

String parolaLunga = TrovaParolaLunga.trovaParolaLunga (testo);

System.out.println( "La parola più lunga del testo è: " + parolaLunga + "che ha " + parolaLunga.length() + "caratteri." );

}

}





Spero di essere stato chiaro...se non hai capito qlcs non esitare a contattarmi via mail che te lo spiego senza alcun problema...ciao!

Ps. scegli tu la miglior risposta (che non è detto sia la mia),nn far cadere in votazione la domanda ;-)
anonymous
2011-05-13 09:57:16 UTC
Eccoti la soluzione:



Lo risolto così



Scanner in = new Scanner(System.in);



String line = "";

String parole[];

String parola_max = "";

int max_lettere = 0;



while (in.hasNextLine()) {

line += in.nextLine();





parole = line.split(" ");



for (int i = 0; i < parole.length - 1; i++) {

if (parole[i].length() > parole[i + 1].length()) {

parola_max = parole[i];

}

}



max_lettere = parola_max.length();



System.out.print("La stringa " + parola_max + " è lunga " + max_lettere);

}



---------------------------------------------------------------------------------------------------------------------------



In sostanza un algoritmo che ti permette di trovare la parola più lunga è questo



parole = line.split(" "); // Inizializzo un array in modo che ogni indice contenga una stringa



for (int i = 0; i < parole.length - 1; i++) { // Scorro le parole



if (parole[i].length() > parole[i + 1].length()) { // Controllo che la prima stringa sia

// maggiore di quella successiva



parola_max = parole[i]; // Ricavo la stringa più grande

}

}



max_lettere = parola_max.length(); // Ricavo la lunghezza della stringa più grande


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...