Bom pessoal queria uma dica/ajuda nesse meu código
importacm.program.*;publicclasscompararMenorextendsConsoleProgram{publicvoidrun(){Stringconfirma="";intnumero,comparador=0,extra;do{numero=readInt("Qual o seu número? ");extra=numero;for(inti=0;i<extra;i++){comparador++;}if(numero<=comparador){comparador=numero;}confirma=readLine("Deseja refazer a ação? ");}while(confirma.equals("Sim"));println("O menor número digitado foi: "+comparador);}}
O objetivo seria o usuário digitar N números e o programar mostrar o menor número digitado.
EXEMPLO:
5 8 -35 4 0
Menor numero é -35
Eu faria diferente, colocaria os numeros digitados em um Array de inteiros e depois faria os testes. No exemplo não citei a parte em que o usuario informa os numeros, esta como se já estivesse feito.
E utilizar um numero alto para o comparador: int comparador = 9999999;
Claro que existe método bem melhor para se fazer isto. Respondi apenas em cima do seu raciocínio.
Att.
weslly99
Eu faria assim
importjava.util.Scanner;publicclassCompararMenor{// nome de Classe começado com letra maiuscula CamelCasepublicstaticvoidmain(String[]args){Stringiterar;intmenor;intaux;Scannerinput=newScanner(System.in);//para compara qual o menor ele precisa ter pelomenos 2 numerosSystem.out.println("Digite um valor");menor=input.nextInt();do{System.out.println("Digite um valor");aux=input.nextInt();if(aux<menor)menor=aux;System.out.println("Deseja inserir outro numero?\nsim ou não");iterar=input.next();}while(iterar.equals("sim"));System.out.printf("Menor valor é %d",menor);}}//fim da classe
Ziru
Ou pode fazer sem sacrifício algum.
importjava.util.ArrayList;importjava.util.Collections;importjava.util.Scanner;publicclassAplicacao{publicstaticvoidmain(String[]args){intvalor;Strings="s";ArrayList<Integer>buff=newArrayList<Integer>();//Ciramos um ArrayList para armazenar quantos valores forem preciso.Scannerinput=newScanner(System.in);do{System.out.println("Digite um valor:");valor=input.nextInt();buff.add(valor);// Adicionamos o valor lido dentor do array.System.out.println("Deseja digitar um novo valor? S/N");s=input.next();}while(s.equalsIgnoreCase("s"));System.out.println("O menor valor digitado é: "+Collections.min(buff));// E com o Collections.min recuperamos o menor valor dentro desse array.}}
weslly99
Aconselho você apenas entender as logicas postadas e desenvolver sua própria solução para seu problema.
K
kixtz
To começando java agora, ai eu procuro faze um solução em pseudocodigo e transformar pro java, mais valew ai galera.
weslly99
pra que serve esse seu %d ?
System.out.printf("Menor valor é %d",menor);
weslly99
[quote=kixtz]To começando java agora, ai eu procuro faze um solução em pseudocodigo e transformar pro java, mais valew ai galera.
weslly99
pra que serve esse seu %d ?
System.out.printf("Menor valor é %d",menor);
printf imprime na tela a mensagem formatada então o %d e um marcador de lugar que significa Inteiro Decimal. No caso menor e um int que e um valor inteiro decimal.
Tbm existe
%f para pontos flutuantes (double, float)
%s String
%c char
tem vários outros da uma olhadinha aqui http://docs.oracle.com/javase/6/docs/api/java/util/Formatter.html#syntax na parte de convenção ele diz cada um