Maior Número, Menor Número, Par/Impar

Boa noite pessoal,

Estou fazendo um exercicio que pede o maior número, menor número entre x, y, z e se ele é menor e maior é par ou impar

Aqui até onde fiz. Ele não imprimi o menor número.

[code]import java.util.Scanner;

public class Exercicio7 {
public static void main(String Args[]) {

	Scanner entrada = new Scanner(System.in);

	System.out.println("Digite o 1º número: ");
	int x = entrada.nextInt();

	System.out.println("Digite o 2º número: ");

	int y = entrada.nextInt();

	System.out.println("Digite 3º número: ");

	int z = entrada.nextInt();

	if (x > y & x > z) {
		System.out.println("O número maior é " + x);
	}
	if (y > x & y > z) {
		System.out.println("O maior número é " + y);
	} else
		System.out.println("O maior número é " + z);

	if (x % 2 == 0) {
		System.out.println("O Maior número é Par");
	}
	if (x % 2 == 1) {
		System.out.println("O Maior número é Impar");
	} else
		System.out.println("O Maior número é Par");

}

}[/code]

Bem veio, primeiramente sua logica está meio errada, ele não vai imprimir o numero maior porque você só esta fazendo os testes do numero maior, tenta criar mais duas variaveis para armazenar o maior e menor numeros e depois aloque o resultado dentro deles, e refaça tudo para maior e menor numeros, alem de sua logica para achar o par e impar está errada.

tente fazer algo parecido com isso

if (maior % 2 == 0) { System.out.println("O Maior número é Par"); }else{ System.out.println("O Maior número é impar"); }

Oi,

Para não precisar fazer esses IFs, poderá utilizar o for:

[code]int[] valor = new int[3];

valor[0] = Integer.parseInt(JOptionPane.showInputDialog("Digite o 1º número: "));
valor[1] = Integer.parseInt(JOptionPane.showInputDialog("Digite o 2º número: "));
valor[2] = Integer.parseInt(JOptionPane.showInputDialog("Digite o 3º número: "));

int menor = valor[0], maior = valor[0];

for (int i = 1; i < valor.length; i++){
if(valor[i] < menor){
menor = valor[i];
}
else if (valor[i] > maior){
maior = valor[i];
}
}

System.out.println(“Menor valor é: “+menor+(menor % 2 == 0 ? " e par” : " e impar”));
System.out.println(“Maior valor é: “+maior+(maior % 2 == 0 ? " e par” : " e impar”));[/code]

Tchauzin!

taaqui

Obrigado, refiz o código :slight_smile:

Lina, O problema é que preciso usar somente IF, ELSE
Mas obrigado pela ajuda.

Amigos, faltam somente os números pares/impares do maior e menor número:

[code]import java.util.Scanner;

public class Exercicio {
public static void main(String Args[]) {

	Scanner entrada = new Scanner(System.in);

	System.out.println("Digite o 1º número: ");
	int x = entrada.nextInt();

	System.out.println("Digite o 2º número: ");

	int y = entrada.nextInt();

	System.out.println("Digite 3º número: ");

	int z = entrada.nextInt();

	if (x > y & x > z) {
		System.out.println("O número maior é " + x);
	} else if (y > x & y > z) {
		System.out.println("O maior número é " + y);
	} else

		System.out.println("O maior número é " + z);

	if (x < y & x < z) {
		System.out.println("O menor número é " + x);
	} else if (y < x & y < z) {
		System.out.println("O menor número " + y);
	} else
		System.out.println("O menor número " + z);

}

}[/code]

Pow cara, já te deram todas as dicas…

Quando vc descobrir qual são os maiores e menores número, você guarda eles em 2 variáveis e faz a validação… no amigo taaqui deixou pronto pra vc…

Obrigado a todos, podem colocar como Resolvado!