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

5 respostas
WGuedes

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.

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");

	}

}

5 Respostas

taaqui

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"); }

lina

Oi,

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

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"));

Tchauzin!

WGuedes

taaqui

Obrigado, refiz o código :)

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:

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);

	}

}
thundercas

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…

WGuedes

Obrigado a todos, podem colocar como Resolvado!

Criado 30 de agosto de 2009
Ultima resposta 1 de set. de 2009
Respostas 5
Participantes 4