Avaliação de código fontes

2 respostas
java
MAO

Olá pessoal estou começando a programar em Java e sou bem leigo nessa área e gostaria que se possível vcs avaliassem meus códigos mostrando outros métodos de fazer o mesmo programa.

OBS.: tbm sou novo no forum e não sei se posso ou não colocar esse tipo de tópico ou se tem uma área para tal coisa, se tiver é só me informar.

Resolvi o seguinte exercício: "Faça um programa que receba três inteiros e diga qual deles é o maior e qual o menor."
E fiz assim e deu certo:

_package maiorint;_

_    import java.util.Scanner;_

_    public class Maiorint {_
_        public static void main(String[]args) {_
_            Scanner entrada = new Scanner(System.in);_
_            int num1, num2, num3;_
_            _
_                System.out.print("Digite o primeiro numero: ");_
_                num1 = entrada.nextInt();_
_                System.out.print("Digite o segundo numero: ");_
_                num2 = entrada.nextInt();_
_                System.out.print("Digite o terceiro numero: ");_
_                num3 = entrada.nextInt();_
_                _
_                        //formula para dizer qual é o maior numero inteiro_
_                        if ((num1 > num2)&&(num1 > num3)){_
_                            System.out.println("O numero "+ num1 + " é o maior");_
_                        }  _
_                        if ((num2 > num1)&&(num2 > num3)){_
_                            System.out.println("O numero maior é o "+ num2);_
_                        }_
_                            if ((num3 > num1)&&(num3 > num2)){_
_                            System.out.println("O numero maior é o "+ num3);_
_                        }_
_             _
_                        //formula para dizer qual é o numero menor_
_                        if ((num1 < num2)&&(num1 < num2)){_
_                            System.out.print("O menor número é o "+ num1);_
_                        }_
_                        if ((num2 < num1)&&(num2 < num3)){_
_                            System.out.print("O menor número é o "+ num2);_
_                        }_
_                        if ((num3 < num1)&&(num3 < num2)){_
_                            System.out.print("O menor numéro é o "+ num3);_
_                        }_
_                        _
_        }_
_    }_

Mas tem alguma maneira de chegar ao mesmo resultado?
Desde já obrigado!

2 Respostas

staroski

Assim não precisa desse monte de if:

package maiorint;

import java.util.Scanner;

public class Maiorint {

	public static void main(String[]args) {
		Scanner entrada = new Scanner(System.in);

		System.out.print("Digite o primeiro numero: ");
		int num1 = entrada.nextInt();
		
		System.out.print("Digite o segundo numero: ");
		int num2 = entrada.nextInt();
		
		System.out.print("Digite o terceiro numero: ");
		int num3 = entrada.nextInt();

		int maior = max(num1, max(num2, num3));
		System.out.println("O numero " + maior + " é o maior");
		
		int menor = min(num1, min(num2, num3));
		System.out.println("O numero " + menor + " é o menor");
	}
	
	public static int max(int a, int b) {
		return a > b ? a : b;
	}

	public static int min(int a, int b) {
		return a < b ? a : b;
	}
}
MAO

opa, valeu staroski… é pq eu to aprendendo o if else…

Criado 22 de dezembro de 2016
Ultima resposta 22 de dez. de 2016
Respostas 2
Participantes 2