Tentando colocar nomes em ordem com arrays

9 respostas
M

Vejam que esttá dando erro no if!

9 Respostas

renamed

O operador “>” é utilizado apenas para comparar tipos primitivos e classes wrappers.
Utilize o método compareTo() da classe string para comparar 2 strings.

ok?

M

Obrigado é isso mesmo, mas mesmo assim não quis colocar em ordem alfabética!

renamed

troque

nome[i] = aux;

por

nome[j] = aux;
renamed

Ou ainda mude todas as linhas comentadas abaixo por Arrays.sort().

public static void main(String args[]) {

		//String aux;
		String nome[];
		nome = new String[10];

		for (int i = 0; i < 10; i++) {

			nome[i] = JOptionPane.showInputDialog("Digite um nome: " + i);
			System.out.println("Nome: " + nome[i]);
		}

		//for (int i = 0; i < 10; i++) {
		//	for (int j = 0; j < 10; j++) {
		//
		//		if (nome[i].compareTo(nome[j]) < 0) {
		//			aux = nome[i];
		//			nome[i] = nome[j];
		//			nome[j] = aux;
		//		}
		//
		//	}
		//
		//}
		
		Arrays.sort(nome);
		
		for (int i = 0; i < 10; i++) {
			System.out.println(nome[i]);

		}

	}

ok?

M

Agradecido pela atenção, mas não deu certo…

M

Nesta não posso fazer uso de Arrays.sort, realmente seria uma boa saída.

M

Ficou assim, agora não estou conseguindo abrir uma pesquisa para saber se determinado nome foi digitado.
Alguém ajuda!

renamed

Rodei aqui e ordenou, qual o problema agora?
Pesquisa, como você a implementou?
Em vez de quote utilize code para mostrar seus códigos.

M

estou tentando implementar com o uso do indexOf, mas não está correto!

a = JOptionPane.showInputDialog("Escolha um nome ");
            int indice = a.indexOf("nome[i]");

            if(indice == -1 )
                System.out.println("O nome pesquisado não foi encontrado. ");

            else
                System.out.println("O nome foi encontrado. "+ indice);
Criado 25 de julho de 2010
Ultima resposta 26 de jul. de 2010
Respostas 9
Participantes 2