Estou com problemas pra pegar a maior palavra digitado em string.
Abaixo está o que eu consegui fazer.
Por exemplo: Eu entro com palavra: Amor e depois Paixao
Eu consigo pegar o tamano da palavra Amor = 4 e Paixão = 6
Só que eu tentei criar IF para pegar o maior que no exemplo seria Paixao e exibr somente ele, mas não consegui.
Tem palavras que da certinho porem outras ele pega a menor e nao a maior.
[code]public class Array {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
String[] nomes = new String[2];
String nome = "";
int maior = 0;
int tam = nomes.length;
for (int i = 0; i < nomes.length; i++)
{
nomes[i] = JOptionPane.showInputDialog("Digite o " + (i + 1) + “º nome”);
}
int tamanho = nomes.length;
for ( int i = 0; i < tamanho; i++)
{
tam = nomes[i].length() ;
System.out.println(tam);
}
JOptionPane.showMessageDialog(null,nome);
}
}[/code]
cara, falta você comparar os itens do seu array, do jeito que está você sempre vai mostrar a ultima palavra
// omitido...
String maiorPalavra = "";
int tamanho = nomes.length;
for ( int i = 0; i < tamanho; i++)
{
tam = nomes[i].length() ;
if ( maiorPalavra.length < tam ){
maiorPalavra = nomes[i];
}
System.out.println(tam);
}
JOptionPane.showMessageDialog(null,maiorPalavra );
// omitido...
tenta algo assim
[quote=paulovloghan]cara, falta você comparar os itens do seu array, do jeito que está você sempre vai mostrar a ultima palavra
// omitido...
String maiorPalavra = "";
int tamanho = nomes.length;
for ( int i = 0; i < tamanho; i++)
{
tam = nomes[i].length() ;
if ( maiorPalavra.length < tam ){
maiorPalavra = nomes[i];
}
System.out.println(tam);
}
JOptionPane.showMessageDialog(null,maiorPalavra );
// omitido...
tenta algo assim[/quote]
Ta dando erro no
if ( maiorPalavra.length < tam ){
Fala ai raffaelssp
Acredito que a solução do seu problema seja essa:
1 - inicializei a variavel maior com zero
2 - criei um If onde ele analisa se a variavel maior é MENOR que o tamanho da palavra corrente, caso seja, maior irá receber o tamanho da palavra corrente e indicepalavra receberá o indice que indica a posição da palavra no "vetor".
3 - por fim como sei aonde a maior palavra esta posicionada, utilizo a variavel indicepalavra para indicar qual é a maior.
Criei um if onde e
public class Array {
public static void main(String[] args) {
String[] nomes = new String[2];
int maior = 0;
int indicepalavra=0;
int tamanho = nomes.length;
for (int i = 0; i < tamanho; i++) {
nomes[i] = JOptionPane.showInputDialog("Digite o " + (i + 1) + "º nome");
}
for (int i = 0; i < tamanho; i++) {
if (maior < nomes[i].length()) {
maior = nomes[i].length();
indicepalavra = i;
}
}
JOptionPane.showMessageDialog(null, nomes[indicepalavra]);
}
}
Abração 8)
Max
[quote=FacaNaCaveira]Fala ai raffaelssp
Acredito que a solução do seu problema seja essa:
1 - inicializei a variavel maior com zero
2 - criei um If onde ele analisa se a variavel maior é MENOR que o tamanho da palavra corrente, caso seja, maior irá receber o tamanho da palavra corrente e indicepalavra receberá o indice que indica a posição da palavra no "vetor".
3 - por fim como sei aonde a maior palavra esta posicionada, utilizo a variavel indicepalavra para indicar qual é a maior.
Criei um if onde e
public class Array {
public static void main(String[] args) {
String[] nomes = new String[2];
int maior = 0;
int indicepalavra=0;
int tamanho = nomes.length;
for (int i = 0; i < tamanho; i++) {
nomes[i] = JOptionPane.showInputDialog("Digite o " + (i + 1) + "º nome");
}
for (int i = 0; i < tamanho; i++) {
if (maior < nomes[i].length()) {
maior = nomes[i].length();
indicepalavra = i;
}
}
JOptionPane.showMessageDialog(null, nomes[indicepalavra]);
}
}
Abração 8)
Max[/quote]
Show de bola agradeço!