Maior e menor

14 respostas
riquericco

Uma dúvida surgiu ao fazer esse programa. Este pede para que digitemos cinco números na tela e entre esses 5 o programa faz com que mostre na tela o maior número e o menor número.

A dúvida surgiu ai, como eh que eu faço pra mostrar o maior e o menor número na tela…

tenho o programa aki:

import java.util.Scanner;

public class comparation

{
public static void main (String args[] )
{

int a;
int b;
int c;
int d;
int e;
int maior;
int menor;

Scanner input = new Scanner( System.in );

System.out.println("Entre com o primeiro número");
a = input.nextInt();

System.out.println("Entre com o segundo número");
b = input.nextInt();

System.out.println("Entre com o terceiro número");
c = input.nextInt();

System.out.println("Entre com o quarto número");
d = input.nextInt();

System.out.println("Entre com o quinto número");
e = input.nextInt();

maior = a;
menor = a;

if (b > maior) {
	maior = b ;
	}

if (c > maior) {
	maior = c ;
	}

if (d > maior) {
	maior = d ;
	}

if (e > maior) {
	maior = e ;
	}
system.out.println("O Maior nº eh %d\n", maior);

if (b < menor) {
	menor = b ;
	}

if (c < menor) {
	menor = c ;
	}

if (d < menor) {
	menor = d ;
	}

if (e < menor) {
	menor = e ;
	}
system.out.println("O Menor nº eh %d\n", menor);

}

}

14 Respostas

CintiaDR

Pergunta: o quanto você manja de ‘array’ e ‘for’?

T

Não é preciso usar arrays ou for. O problema dele se resolve com apenas três variáveis.

T

Normalmente esse problema se resolve da seguinte maneira:

Crie três variáveis - uma para o menor número, outra para o maior, e a terceira para o número sendo lido.
Leia o primeiro número e atribua seu valor à variável “menor” e à variável “maior”.
Para os números seguintes, compare o valor com a variável “menor” e veja se ele é menor que a tal variável. Se for, então você atribui o valor à variável “menor”. A mesma coisa ocorre com a variável “maior”.

Anderson_Leite

Você pode usar o Arrays.sort(), mas se for exercício de faculdade provavelmente não vai ser aceito, ai você precisa criar o algorítimo que o thingol deu o caminho das pedras.

import java.util.Arrays;

public class Ordena {
	
	 public static void main (String args[]){
		 
		 int a=3;
		 int b=2;
		 int c=5;
		 int d=1;
		 int e=4;
		 int[] ordenada = ordena(a,b,c,d,e);
		 
		 System.out.println("Lista ordenada :");
		 for (int i = 0; i < ordenada.length; i++) {
			System.out.println(ordenada[i]);
		}		 
		 
	 }
	 
	 private static int[] ordena(int a, int b , int c, int d, int e){		 
		 int vetor[] = new int [5];
		 
		 vetor[0]=a;
		 vetor[1]=b;
		 vetor[2]=c;
		 vetor[3]=d;
		 vetor[4]=e;
		 
		 Arrays.sort(vetor);
		 
		 return vetor;
	 }
	 
}
CintiaDR

É que eu achei simplesmente que se o rapaz soubesse mexer com array e for ia ficar realmente mais fácil de criar e de entender o programa :smiley:

Só isso…

riquericco

Array e for eu naum sei mexer ainda.
Podem me dar alguma dica de como utiliza isso?
Quando aprender poderei fazer esse programa mais facilmente.

francislon

Você está errando na hora de imprimir.

Você está colocando:

system.out.println("O Menor nº eh %d\n", menor);

O certo seria:

System.out.printf("O Menor nº eh %d\n", menor);

ou

System.out.println("O Menor nº eh " + menor);

Abraço.

riquericco

pow cara, brigadao ae por me corrigir, tava mesmo precisando de uma ajudinha ae pra eu enxergar meu erro!!
flws ae e abraços

Jasoncard

Alguem sabe Me dizer como ficaria esse exemplo com array, ex:
o Usuario Vai digitar Qntos valores deseja inserir

//Classe ArrayAluno
import javax.swing.*;
public class Exc4{
  public static void main(String args[]){
    int num;
    String teste3;
    String teste2;
    
    teste3 = JOptionPane.showInputDialog("Digite quantidade de Valores:");
	num= Integer.parseInt(teste3);
    
    double notas[] = new double[(num)];
    
    for (int i=0; i<=num-1;i++){
		teste2 = JOptionPane.showInputDialog("Digite aos Valores:"); 
		notas[i] = Double.parseDouble(teste2);

pronto so sei ate aew, como faco agora, para que imprima o Maior, o Menor, a Soma e a Media desses Valores?
Grato!!!

peczenyj

teste = [lendo a entrada]

se for a primeira vez:

maior = teste
menor = teste

se for a segunda vez em diante:

if (teste > maior) maior = teste
if (teste < menor) menor = teste

No fim, vc tem o maior e o menor numero digitado.

Jasoncard

Continuo sem enteder
dei uma melhorada no codigo, falta apenas fazer com que o programa identifique o maior e menor dentro de uma ARRAY segue o Codigo:

//Elaborado por Alex Maramaldo
import javax.swing.*;
public class Exc4{
  public static void main(String args[]){
    int num;
    double soma=0,media;
    String teste3;
    String teste2;
    
    teste3 = JOptionPane.showInputDialog("Digite quantidade de Valores:");
	num= Integer.parseInt(teste3);
    
    double notas[] = new double[(num)];
    
    for (int i=0; i<=num-1;i++){
		teste2 = JOptionPane.showInputDialog("Digite o Valor do Dado " + (i+1)); 
		notas[i] = Double.parseDouble(teste2);
		soma = (soma + notas[i]);   
    	}
    	media = (soma/num);
    JOptionPane.showMessageDialog(null,"A soma é: " + soma + "\n" + 
    									"a Media é: " + media + "\n" +
    									"O Maior é: " + "\n" +
    									"O menor é: " + "\n");
    System.exit(0);
    }
}
Qria de Possivel esse codigo corrigido, ou seja, ja acrescentado como encontrar o Maior e no Menor dentro de uma Array
Marky.Vasconcelos

andersonlfl:
Você pode usar o Arrays.sort(), mas se for exercício de faculdade provavelmente não vai ser aceito, ai você precisa criar o algorítimo que o thingol deu o caminho das pedras.

import java.util.Arrays;

public class Ordena {
	
	 public static void main (String args[]){
		 
		 int a=3;
		 int b=2;
		 int c=5;
		 int d=1;
		 int e=4;
		 int[] ordenada = ordena(a,b,c,d,e);
		 
		 System.out.println("Lista ordenada :");
		 for (int i = 0; i < ordenada.length; i++) {
			System.out.println(ordenada[i]);
		}		 
		 
	 }
	 
	 private static int[] ordena(int a, int b , int c, int d, int e){		 
		 int vetor[] = new int [5];
		 
		 vetor[0]=a;
		 vetor[1]=b;
		 vetor[2]=c;
		 vetor[3]=d;
		 vetor[4]=e;
		 
		 Arrays.sort(vetor);
		 
		 return vetor;
	 }
	 
}

Isso

private static int[] ordena(int a, int b , int c, int d, int e){		 
		 int vetor[] = new int [5];
		 
		 vetor[0]=a;
		 vetor[1]=b;
		 vetor[2]=c;
		 vetor[3]=d;
		 vetor[4]=e;
		 
		 Arrays.sort(vetor);
		 
		 return vetor;
	 }

Pode ser substituido por isso(a partir do Java 5)

private static int[] ordena(int...e){		 
		 Arrays.sort(e);
		 
		 return e;
	 }

Isso lhe pouparia de ter que mecher nesse método se um dia precisar arrumar 50 numeros.

M

riquericco:
Uma dúvida surgiu ao fazer esse programa. Este pede para que digitemos cinco números na tela e entre esses 5 o programa faz com que mostre na tela o maior número e o menor número.

A dúvida surgiu ai, como eh que eu faço pra mostrar o maior e o menor número na tela…

tenho o programa aki:

import java.util.Scanner;

public class comparation

{
public static void main (String args[] )
{

int a;
int b;
int c;
int d;
int e;
int maior;
int menor;

Scanner input = new Scanner( System.in );

System.out.println("Entre com o primeiro número");
a = input.nextInt();

System.out.println("Entre com o segundo número");
b = input.nextInt();

System.out.println("Entre com o terceiro número");
c = input.nextInt();

System.out.println("Entre com o quarto número");
d = input.nextInt();

System.out.println("Entre com o quinto número");
e = input.nextInt();

maior = a;
menor = a;

if (b > maior) {
	maior = b ;
	}

if (c > maior) {
	maior = c ;
	}

if (d > maior) {
	maior = d ;
	}

if (e > maior) {
	maior = e ;
	}
system.out.println("O Maior nº eh %d\n", maior);

if (b < menor) {
	menor = b ;
	}

if (c < menor) {
	menor = c ;
	}

if (d < menor) {
	menor = d ;
	}

if (e < menor) {
	menor = e ;
	}
system.out.println("O Menor nº eh %d\n", menor);

}

}

ESSE CÓDIGO AQUI É PERFEITO… SE PRECISAR USAR ARRAY TUDO BEM, MAS SEM USAR O ARRAY ACHEI ELE PERFEITO… PARABENS

rodpuc
ESSE CÓDIGO AQUI É PERFEITO.. SE PRECISAR USAR ARRAY TUDO BEM, MAS SEM USAR O ARRAY ACHEI ELE PERFEITO... PARABENS

ahahahahahahahahaha

ah desculpem mas n consegui segurar o riso :slight_smile:

Criado 9 de outubro de 2007
Ultima resposta 30 de out. de 2009
Respostas 14
Participantes 10