Parametros em linha de comando [Dúvidas]

7 respostas
hugown

Então, sou novo aqui e vim apela para o fórum, hahahaha.

A minha dúvida é a seguinte, estou com dificuldade para resolver esse pequeno problema. Eu tenho que, em linha de comando, passar pares de paramêtros, tipo, “Cidade Temperatura(°C)” seguido, exemplo:

“java testeprog Curitiba 20 Sao Paulo 30 Rio de Janeiro 37”

Eu preciso passar a cidade em um método e a temperatura em outro, mas não ta indo de jeito nenhum. Se alguém conseguir me explicar como funciona ficarei muito grato!

Desde já agradeço.

[]'s

7 Respostas

Romulo_Fagundes

O parâmetro de entrada do main:
public static void main(String args[])

Ele é responsável por ler a entrada de dados e armazenar em um array de string.

Agora veja como ele pode ser passado como parâmetro. Tipo:
java testeprog Curitiba 20 Sao_Paulo 30 Rio_de_Janeiro 37

Em seguida, vc trata o nome da cidade.

hugown

Então, isso é o problema, como fazer isso. hahaha

Eu sei que ele vai armazenar na String args[] mas o problema é separar o Nome da cidade que é String e colocar em um método e pegar a temperatura da cidade que necessita ser em float e passar em outro método.

Meio complicado. hahaha

Andre_Brito

2 jeitos:

(O mais fácil): Não passar por parâmetro para a main, mas sim instanciar um leitor e ir lendo.

Ou,
Usar o método split() da classe String e separar, depois, em dois arrays: um de números e outro de cidades.

oliver.valter

usa o split() assim vc consegue separar nome e a temperatura…

flw

javascript:emoticon(’:arrow:’);Valter

hugown

Então, é um trabalho e tem que ser passado por linha de comando, o professor que quis assim. :stuck_out_tongue:
Para mim seria muito melhor passar pelo teclado, como se fosse o usuário colocando o nome da cidade e logo após a temperatura, mas sabe como que é. Ou faz assim ou perde nota. haha

Esse split é fácil de usar?? Teria como me mostrar um exemplo de como ele funciona??

Obrigado pelas respostas.

[]'s

oliver.valter

Segue o Exemplo:

String nome = “Carla#Karina”;

String s1[] = nome.split("#");

for(int i = 0; i < s1.length; i++)

{

System.out.println(s1[i]);

}

flw

T

Primeira coisa, como é que você vai saber o que é nome de cidade e o que é número? Use aspas para um nome de cidade para evitar problemas.

Em vez de:

java testeprog Curitiba 20 Sao Paulo 30 Rio de Janeiro 37

Use:

java testeprog "Curitiba" 20 "Sao Paulo" 30 "Rio de Janeiro" 37

Aí fica muito, muito mais fácil, porque você sabe que os nomes de cidades vâo nas posições pares de args[], e os números vão nas posições ímpares.

Criado 16 de setembro de 2008
Ultima resposta 17 de set. de 2008
Respostas 7
Participantes 5