Ajuda com entrada de Parametro

Então galera, aqui fica minha dúvida, eu quero passar os parâmetros em certa ordem, por exemplo:

java Unit8TestDrive "Curitiba" 20 "Sao Paulo" 30 "Rio de Janeiro"

Este programa faz o seguinte, mostra a cidade e faz a conversão de Celsius para Fahrenheit e vice versa. Mas eu queria que na hora que ele fosse escrever na tela os nomes das cidades e as temperaturas ele colocasse ao contrário. Como eu passei “Curitiba” e “20” por primeiro, eu queria que ele ficasse por último. Entendem?

É isso que não estou conseguindo fazer. :stuck_out_tongue:

Abaixo fica o fonte.

[code]import java.util.Scanner;
import java.text.DecimalFormat;

public class Unit8TestDrive {
public static void main (String args[]){
Unit8[] cidades = new Unit8[args.length/2];
Scanner teclado = new Scanner(System.in);
DecimalFormat decimal = new DecimalFormat(“0”);

	for (int i = 0; i < (args.length/2); i++){ 
		cidades[i] = new Unit8(); 
		cidades[i].setNome(args[i*2]);
		cidades[i].setTempC(Float.parseFloat(args[i*2+1]));
	}

	System.out.println("Escolha o metodo de conversao:\n");
	System.out.println("1 - Celsius para Fahrenheit;\n");
	System.out.println("2 - Fahrenheit para Celsius.\n");
	System.out.print("Opcao escolhida foi:");
	
	int tecla = teclado.nextInt();
	switch (tecla) {
	
	case 1:
		for (int x = 0;  x < (args.length/2); x++){ 
			System.out.println("\nCidade: " + cidades[x].getNome() + "\nTemperatura: " +decimal.format(cidades[x].getTempF())+"F\n");
		}
		break;
		
	case 2:
		
		for (int i = 0; i < (args.length/2); i++){ 
			cidades[i].setTempF(Float.parseFloat(args[i*2+1]));
		}			
		
		
		for (int x = 0; x < (args.length/2); x++){
			System.out.println("\nCidade: " + cidades[x].getNome() + "\nTemperatura: " +decimal.format(cidades[x].getTempC())+"C\n");
		}
		break;				
	
	default:
			System.out.println("Opcao invalida");
			System.exit(0);
			break;
	}
}

} [/code]

Desde já agradeço.

[]'s

tenta trocar esse for

for (int x = 0; x < (args.length/2); x++){  
             System.out.println("\nCidade: " + cidades[x].getNome() + "\nTemperatura: "   +decimal.format(cidades[x].getTempC())+"C\n");  
 } 

por este

for (int x =  (args.length/2)-1; x >= 0; x--){  
             System.out.println("\nCidade: " + cidades[x].getNome() + "\nTemperatura: "   +decimal.format(cidades[x].getTempC())+"C\n");  
 } 

Caro, inverta o for que cria o array de cidades.
Ao invés de ir de 0 até a qtde de cidades, vá da qtde de cidades até 0.

Exemplo:

for (int i = args.length/2; i > 0; i–)

Tenta aí e vê se rola.

Abraço,
manoelson