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…
import java.util.Scanner;
public class Comparar
{
public static void main (String args [])
{
Scanner input = new Scanner (System.in);
int numero1;
int numero2;
int numero3;
int numero4;
int numero5;
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.
import java.util.Scanner;
public class Comparar
{
public static void main (String args [])
{
Scanner input = new Scanner (System.in);
int numero1;
int numero2;
int numero3;
int numero4;
int numero5;
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++)
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…
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!/
class CompMaiorMenor
{
int arrayvalores[] = new int[5];
public void exeValor()
{
Scanner exevalor = new Scanner(System.in); // criamos um objeto Scanner "exevalor" para a entrada dos valores
System.out.println("Entre com os valores: ");
for(int x=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! =D
System.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
public int getMaior()
{
int valmaior = arrayvalores[0]; // aqui nós estamos supondo que o valor maior seja o elemento do "array[0]".
for(int x : 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".
}
return valmaior; // aqui ele retorna o valor maior do array.
} // fim do método getMaior
// método para obter o valor menor do array
public int getMenor()
{
int valmenor = arrayvalores[0]; // aqui nós estamos supondo que o valor menor seja o elemento do "array[0]".
for(int x : 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".
}
return valmenor; // aqui ele retorna o valor menor do array.
} // fim do método getMenor
}
public class Comparar
{
public static void main(String[] args)
{
CompMaiorMenor exe = new CompMaiorMenor(); // aqui cria o objeto pra poder intancia-lo…
exe.exeValor(); // aqui depois de criar o objeto estamos chamando o método "exeValor()".
}
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++)
[/quote]
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 =)…
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…[/quote]
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.
[code] int maior = 0;
int[] vetor = new int [10];
for (int i = 0 ; i < 10 ; i++){
//coloca 10 valores aleatorios no array
vetor[i] = ((int)(Math.random()*10));
}
//percorre o array em busca do maior numero
for (int i = 0 ; i < 10 ; i++){
if (i==0)
maior = vetor[i];
else if (vetor[i] > maior)
maior = vetor[i];
}[/code]
editando coloquei um erro grotesco ai em cima, agora ta certinho.