Ordem Correta e Inversa de um Vector de nomes

5 respostas
L
public static void main(String[] args) {
		 String[] nome = new String[10];
		 int i, j;
		 
		 for (i=0; i<= nome.length-1; i++){
			nome[i] = JOptionPane.showInputDialog("Digite o " + (i+1) +"º nome: ");
			            			 
		 }
		 String exibirNomes = "";
		 for (String nomes2 : nome){
			 exibirNomes += nomes2 + "\n";
			 
		 }
		 JOptionPane.showMessageDialog(null, exibirNomes);
 
		 for (i = nome.length; i<=0; i--){

Como imprimir os nomes na ordem inversa da qual foram digitados? :?

5 Respostas

BrunoFurtado

Opa, veja se isso ajuda…

public static void bubbleSort(int[] vetor) {
	boolean houveTroca = true;

	while (houveTroca) {
		houveTroca = false;
		
		for (int i = 0; i < (vetor.length)-1; i++) {
			if (vetor[i] > vetor[i+1]) {
				int variavelAuxiliar = vetor[i+1];
				vetor[i+1] = vetor[i];
				vetor[i] = variavelAuxiliar;
				houveTroca = true;
			}
		}
	} 
}

public static void bubbleSortReverse(int[] vetor) {
	boolean houveTroca = true;

	while (houveTroca) {
		houveTroca = false;
		
		for (int i = vetor.length-1; i > 0; i--) {
			if (vetor[i] > vetor[i-1]) {
				int variavelAuxiliar = vetor[i-1];
				vetor[i-1] = vetor[i];
				vetor[i] = variavelAuxiliar;
				houveTroca = true;
			}
		}
	} 
}
L
BrunoFurtado:
Opa, veja se isso ajuda...
public static void bubbleSort(int[] vetor) {
	boolean houveTroca = true;

	while (houveTroca) {
		houveTroca = false;
		
		for (int i = 0; i < (vetor.length)-1; i++) {
			if (vetor[i] > vetor[i+1]) {
				int variavelAuxiliar = vetor[i+1];
				vetor[i+1] = vetor[i];
				vetor[i] = variavelAuxiliar;
				houveTroca = true;
			}
		}
	} 
}

public static void bubbleSortReverse(int[] vetor) {
	boolean houveTroca = true;

	while (houveTroca) {
		houveTroca = false;
		
		for (int i = vetor.length-1; i > 0; i--) {
			if (vetor[i] > vetor[i-1]) {
				int variavelAuxiliar = vetor[i-1];
				vetor[i-1] = vetor[i];
				vetor[i] = variavelAuxiliar;
				houveTroca = true;
			}
		}
	} 
}

Obrigada pelo Código Bruno, mas ainda nao vimos essas estruturas de ordenação :?
imagino que nesse caso, que vc me mandou, o metodo vai trocando as variáveis de posição até que fique ao inverso do inicial (me corrija se estiver errada, please, não tenho certeza do que estou falando haha). Eu só queria mesmo entender como vou fazer pra ele mostrar o vetor inversamente sem usar essas ordenações, tem como?

A

LuluzinhaS:

Como imprimir os nomes na ordem inversa da qual foram digitados? :?

Você pode usar a forma contrária que foi usada na leitura:

for (i=nome.length-1; i&gt;=0 ; i++){
     exibirNomes +=nome[i] + "\n";
 }
 JOptionPane.showMessageDialog(null, exibirNomes);
L

AbelBueno:
LuluzinhaS:

Como imprimir os nomes na ordem inversa da qual foram digitados? :?

Você pode usar a forma contrária que foi usada na leitura:

for (i=nome.length-1; i&gt;=0 ; i++){ exibirNomes +=nome[i] + &quot;\n&quot;; } JOptionPane.showMessageDialog(null, exibirNomes);

Eu preciso fazer um segundo vetor pra armazenar os dados de forma inversa?

ViniGodoy

public static void main(String[] args) { String[] nomes = new String[10]; for (int i=0; i &lt; nome.length-1; i++){ nomes[i] = JOptionPane.showInputDialog(&quot;Digite o &quot; + (i+1) +&quot;º nome: &quot;); } for (int i = nome.length-1; i&gt;= 0; i--){ System.out.println(nomes[i]); } }

Criado 27 de janeiro de 2013
Ultima resposta 28 de jan. de 2013
Respostas 5
Participantes 4