olá pessoal - meu primeiro post … parabens a todo pessoa do GUJ - esse site foi muito bem recomendado…
pessoal to iniciando os estudos em java - fiz um curso e estou agora estudando o livro do deitel
parei em um exercício que pede para escrever um aplicativo que leia cinco numeros inteiros determina e imprime o maior e o menor…como faço isso…alguém pode me ajudar???
o codigo ta assim…
importjava.util.Scanner;publicclassComparar{publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);intnumero1;intnumero2;intnumero3;intnumero4;intnumero5;System.out.print("Digite o primeiro número: ");numero1=input.nextInt();System.out.print("Digite o segundo número: ");numero2=input.nextInt();System.out.print("Digite o terceiro número: ");numero3=input.nextInt();System.out.print("Digite o quarto número: ");numero4=input.nextInt();System.out.print("Digite o quinto número: ");numero5=input.nextInt();}// void main}// class Comparar
declare duas variáveis do tipo int, uma “maior” e outra “menor”
inicialize as duas com o valor 0(zero)
Faça um laco for e leia 5 valores
para cada valor lido, compare se o valor atual é maior que “maior”. Se for,
“maior” passa a ser igual ao valor atual
veja agora se atual é menor que “menor”. Se for, "menor"passa a ser igual a atual.
No fim, “maior” tera o maior valor e “menor”, o menor.
Confuso?! hehehe
Abraço!
T
thingol
Esse tipo de problema se resolve normalmente assim:
Crie duas variáveis para conter o valor máximo e o valor mínimo.
Quando ler o primeiro número, atribua-o para as variáveis do valor máximo e do valor mínimo.
Quando ler os números subseqüentes, faça o seguinte, para cada um deles:
Se a variável do valor máximo for menor que o valor lido, então atribua o valor lido à variável do valor máximo.
Se a variável do valor mínimo for maior que o valor lido, então atribua o valor lido à variável do valor mínimo.
No fim de tudo, imprima a variável do valor máximo e do valor mínimo.
Experimente isso em papel, com a seguinte seqüência: 3, 1, 4, 1, 5, para você entender o que falei, e depois escreva o programa.
edertp
importjava.util.Scanner;publicclassComparar{publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);intnumero1;intnumero2;intnumero3;intnumero4;intnumero5;System.out.print("Digite o primeiro número: ");numero1=input.nextInt();System.out.print("Digite o segundo número: ");numero2=input.nextInt();System.out.print("Digite o terceiro número: ");numero3=input.nextInt();System.out.print("Digite o quarto número: ");numero4=input.nextInt();System.out.print("Digite o quinto número: ");numero5=input.nextInt();
int [] v = {numero1,numero2, numero3, numero4, numero5};
a declaração import ajuda o compilador localizar uma classe utilizada nesse programa…essa linha indica que no exemplo vamos utilizar a classe Scanner que pertence ao pacote java.util…o compilador tenta assegurar que no exemplo vamos uisar corretamente a classe Scanner…
agora o codigo abaixo eu naum sei te explicar naum - to começando em java agora cara… for (j = 1; j >< v.length; j++)
K
kodzul
de boa cara…
mas entaum - será que você me ajudar???
como posso terminar meu código seguindo a orientação que recebi:
Esse tipo de problema se resolve normalmente assim:
Crie duas variáveis para conter o valor máximo e o valor mínimo.
Quando ler o primeiro número, atribua-o para as variáveis do valor máximo e do valor mínimo.
Quando ler os números subseqüentes, faça o seguinte, para cada um deles:
Se a variável do valor máximo for menor que o valor lido, então atribua o valor lido à variável do valor máximo.
Se a variável do valor mínimo for maior que o valor lido, então atribua o valor lido à variável do valor mínimo.
No fim de tudo, imprima a variável do valor máximo e do valor mínimo.
*** tem como me ajudarem a fazer esse procedimento acima implementarndo o código???**** fiquei meio perdido nisso pessoal - desculpem se é uma coisa facil demais pra vc - mas se puderem ajudar…garto…
K
kodzul
vlw pela dica…
e mais uma coisa - por que quando tentar compilar o programa ela da uma mensagem de erro na linha int maior = 0;
no programa declarei os cinco numeros: int numero1 e também a variavel maior: int maior;
o que fiz de errado dessa vez??? pode me ajudar de novo???
pessoal - primeiro mais uma vez um muito obrigado ao pessoal do GUJ - site show de bola…parabéns a todos…
e um obrigado especial ao colega ppontes … esclareceu a dúvida e ainda mandou o codigo comentado - se interessar a alguém - ta aí…
/* Aplicativo que recebe 5 inteiros do usuário e atribui os valores a um ARRAY de comprimento 5
para posterior comparação do maior e menor valor*/
import java.util.Scanner; // aqui estamos importando a classe Scanner para receber os valores fornecidos pelo usuário.
/* import java.lang.; --> aqui vc importou o pacote java.lang.
Isso não é obrigado pq o compilador já faz isso pra vc automaticamente
em todas as suas classes criadas por vc! Então vc pode apagar este import com segurança!/
publicvoidexeValor(){Scannerexevalor=newScanner(System.in);// criamos um objeto Scanner "exevalor" para a entrada dos valoresSystem.out.println("Entre com os valores: ");for(intx=0;x<arrayvalores.length;x++)// criamos um for para atribuir os valores no array, em vez de ficar colocando aquele...arrayvalores[x]=exevalor.nextInt();// ... monte de "System.out.println(Digite o primeiro numero:...Digite o segundo numero:...)", assim é mais prático! =DSystem.out.printf("%s\t%d\n%s\t%d\n","Maior valor:",getMaior(),"Menor valor:",getMenor());// aqui vai exibir o maior valor e o menor valor depois que ele executar o método "getMaior" e "getMenor".// se vc não estiver entendendo os especificadores de formato(%s%d) ou os caracteres de escape(\n), sugiro que dê uma olhada na API do JAVA em relação ao "printf".}// método para obter o valor maior do array publicintgetMaior(){intvalmaior=arrayvalores[0];// aqui nós estamos supondo que o valor maior seja o elemento do "array[0]".for(intx:arrayvalores)// aqui criamos um FOR aprimorado para percorrer o array em busca de um valor maior do que o "array[0]" que foi passado para a variável "valmaior".{if(x>valmaior)// aqui utilizamos uma condição em que se ele encontrar um valor maior do que o "array[0]" que foi passado para a variável "valmaior".... valmaior=x;// ...ele vai subtituir esse valor maior(x) na variável local "valmaior".}returnvalmaior;// aqui ele retorna o valor maior do array.}// fim do método getMaior// método para obter o valor menor do arraypublicintgetMenor(){intvalmenor=arrayvalores[0];// aqui nós estamos supondo que o valor menor seja o elemento do "array[0]".for(intx:arrayvalores)// aqui criamos um FOR aprimorado para percorrer o array em busca de um valor menor do que o "array[0]".{if(x<valmenor)// aqui utilizamos uma condição em que se ele encontrar um valor menor do que o suposto "array[0]"... valmenor=x;// ...ele vai subtituir esse valor menor(x) na variável local "valmaior".}returnvalmenor;// aqui ele retorna o valor menor do array.}// fim do método getMenor
}
publicclassComparar{publicstaticvoidmain(String[]args){CompMaiorMenorexe=newCompMaiorMenor();// aqui cria o objeto pra poder intancia-lo…
exe.exeValor();// aqui depois de criar o objeto estamos chamando o método "exeValor()".}
}
I
info_god
edertp:
import java.util.Scanner;
[b]for(j=1;j><v.length;j++){[/b]
Q isso? o0
I
info_god
kodzul:
caro colega edertp …
import java.util.Scanner;
a declaração import ajuda o compilador localizar uma classe utilizada nesse programa…essa linha indica que no exemplo vamos utilizar a classe Scanner que pertence ao pacote java.util…o compilador tenta assegurar que no exemplo vamos uisar corretamente a classe Scanner…
agora o codigo abaixo eu naum sei te explicar naum - to começando em java agora cara… for (j = 1; j >< v.length; j++)
Desculpa ter me expressado mal, a questão de ter postado logo a cima, é q isso em java não existe ><. Ele deve ter se enganado, ou ele quis tentar fazer menos < ou maior > ou diferente !=, mais isso ae não existe =)…
E o q eu postei foi uma brincadeirainha com o erro do Ederp =)…
I
info_god
kodzul:
de boa cara...
mas entaum - será que você me ajudar????
como posso terminar meu código seguindo a orientação que recebi:
Esse tipo de problema se resolve normalmente assim:
- Crie duas variáveis para conter o valor máximo e o valor mínimo.
- Quando ler o primeiro número, atribua-o para as variáveis do valor máximo e do valor mínimo.
- Quando ler os números subseqüentes, faça o seguinte, para cada um deles:
- Se a variável do valor máximo for menor que o valor lido, então atribua o valor lido à variável do valor máximo.
- Se a variável do valor mínimo for maior que o valor lido, então atribua o valor lido à variável do valor mínimo.
- No fim de tudo, imprima a variável do valor máximo e do valor mínimo.
*** tem como me ajudarem a fazer esse procedimento acima implementarndo o código?????**** fiquei meio perdido nisso pessoal - desculpem se é uma coisa facil demais pra vc - mas se puderem ajudar...garto...
Tipo assim é so vc pensar um pouquinho mais tudo bem vai o codigo ae.. Pra achar o MAIOR agora pensa um pouquinho só e acha o menor.