preciso montar um programa que leia uma qantidade de numeros digitada pelo usuário e informe o maior e o menor! so isso é moleza, porem os numeros informados estao separados pro ; “ponto e virgula” e nao tem uma quantidade certa de numeros, pode ser qualaquer quantia!
o que eu ja fiz foi isso ai:
quem puder me da uma luz agradeço muito!
o programa roda, mas da erro quando informa os numeros!
importjava.util.Scanner;importjava.util.StringTokenizer;publicclassEx_8{publicstaticvoidmain(String[]args){Stringentrada;Scannersc=newScanner(System.in);// vai ter que separar a entradaentrada=sc.nextLine();StringTokenizerst=newStringTokenizer(entrada,";");intnumeroAtual;intmaior=-99999,menor=999999;do{numeroAtual=Integer.parseInt(st.nextToken());if(numeroAtual<0)break;System.out.println(" Número Atual: "+numeroAtual);if(numeroAtual>maior)maior=numeroAtual;if(numeroAtual<menor)menor=numeroAtual;}while(numeroAtual>=0);
System.out.println(" Maior número: "+maior+" Menor número: "+menor);}
Quando a sua dúvida, o recomendado é usar o método split da classe String.
[]'s
ViniGodoy
Como a documentação do StringTokenizer informa, ele não deve ser mais utilizado e foi mantido só por questões de compatibilidade. No lugar, use o split:
Scanner sc = new Scanner(System.in);
String entrada = sc.nextLine();
int maior = Integer.MIN_VALUE;
int menor = Integer.MAX_VALUE;
for (String numeroStr : entrada.split(";")) {
try {
int numero = Integer.parseInt(numeroStr.trim());
menor = Math.min(numero, menor);
maior = Math.max(numero, maior);
} catch (NumerFormatException e) {
System.out.println("Numero inválido: " + numeroStr);
}
}
System.out.printf("O maior número informado foi %d e o menor %d%f", maior, menor);
igor_ks
Bom, primeiramente use a tag code para postar codigos
Segundo, acho que vc nao esta entendendo como funciona o StringTokenizer
provavelmente está dando erro pois esta procurando o proximo “;” e nao está encontrando
Nao vou te dar a solucao mas vou fazer vc pensar
Execute este codigo e entenda como o StringTokenizer funciona
Como a documentação do StringTokenizer informa, ele não deve ser mais utilizado e foi mantido só por questões de compatibilidade. No lugar, use o split:
Porém, se você está aprendendo por conta, deve estar utilizando material ultrapassado. Aí recomendo buscar materiais mais atualizados (como as apostilas da Caelum).
Bom foi o professor quem ensinou assim mesmo!
mas acho que ele ta um pouco ultrapassado mesmo!
kk
vou da uma pesquisada nesse assunto
obrigada
WellingtonRamos
ViniGodoy:
Como a documentação do StringTokenizer informa, ele não deve ser mais utilizado e foi mantido só por questões de compatibilidade. No lugar, use o split:
Porém, se você está aprendendo por conta, deve estar utilizando material ultrapassado. Aí recomendo buscar materiais mais atualizados (como as apostilas da Caelum).