Mayor de tres numeros

Calcular el mayor de tres números enteros en Java.

El programa lee por teclado tres números enteros y calcula y muestra el mayor de los tres.

/*
 * Programa que lee tres números distintos
 * y nos dice cuál de ellos es el mayor
 */
import java.util.*;
public class MayorDeTres {
 public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      int n1, n2, n3;
      System.out.print("Introduzca primer número: ");
      n1 = sc.nextInt();
    System.out.print("Introduzca segundo número: ");
      n2 = sc.nextInt();
      System.out.print("Introduzca tercer número: ");
        n3 = sc.nextInt();
        if(n1 > n2)
           if(n1>n3)
              System.out.println("El mayor es: " + n1);
           else
              System.out.println("el mayor es: " + n3);
        else if(n2>n3)
              System.out.println("el mayor es: " + n2);
                else
              System.out.println("el mayor es: " + n3);
    }
}


40 comentarios:

  1. muy buena esa
    gracias XD

    ResponderEliminar
  2. Necesito saber que librería usas después de "util.*;" Que es ese "*" en → import java.util.*;

    ResponderEliminar
    Respuestas
    1. import java.util.Scanner;

      Si pones * podrás usar en el programa todas las librerías del paquete java.util. Es más comodo poner el asterisco aunque es más correcto escribir la clase concreta que necesitas.

      Eliminar
  3. oie una pregunta bueno mas que nada yo necesito un programa en el cual pueda poner 4 números y que me marque o imprima en pantalla cual es el menor y cual es el mayor así como que me marque si todos los números colocados son iguales o distintos necesito mucha ayuda soy apenas un aprendiz en esto :C

    ResponderEliminar
    Respuestas
    1. Este comentario ha sido eliminado por el autor.

      Eliminar
  4. Eso falla, si le pones un valor a n2 igual que n3 te reporta que n3 es el mayor;)

    ResponderEliminar
  5. public static void main(String[] args) {

    int num1, num2, num3, mayor;
    Scanner var = new Scanner(System.in);

    System.out.print("Ingrese primer numero: ");
    num1 = var.nextInt();

    System.out.print("Ingrese segundo numero: ");
    num2 = var.nextInt();

    System.out.print("Ingrese tercer numero: ");
    num3 = var.nextInt();

    mayor = num1;

    if(num1 <= num2)
    mayor = num2;
    if(num2 <= num3)
    mayor = num3;

    System.out.println("El mayor numero es: " + mayor);

    }

    }

    ResponderEliminar
    Respuestas
    1. Excelente, funciona a la perfección.

      Eliminar
    2. falla si la entrada es 3 , 2, ,2. Dice que el mayor es 2

      Eliminar
    3. Una más..

      //programa que lee cinco enteros y determina cuales son el mayor y el menor, y los imprime
      package cincoenteros;

      import java.util.Scanner;

      public class CincoEnteros {




      public static void main(String[] args) {

      Scanner entrada = new Scanner(System.in);

      int a,b,c,d,e;
      int mayor;
      int menor;

      System.out.print("Ingrese el primer valor:");
      a= entrada.nextInt();

      System.out.print("Ingrese el segundo valor:");
      b= entrada.nextInt();

      System.out.print("Ingrese el tercer valor:");
      c= entrada.nextInt();

      System.out.print("Ingrese el cuarto valor:");
      d= entrada.nextInt();

      System.out.print("Ingrese el quinto valor:");
      e= entrada.nextInt();



      if ((a>b&&a>c)&&(a>d&&a>e)){
      System.out.printf("%d\t Es el mayor",a );

      }else if ((b>a&&b>c)&&(b>d&&b>e)){
      System.out.printf("%d\t Es el mayor", b);

      } else if((c>a&&c>b)&& (c>d&&c>e)){
      System.out.printf("%d\t Es el mayor\n",c);

      }else if ((e>a&&e>b)&&(e>c&&e>d)){
      System.out.printf("%d\t Es el mayor\n",e);

      }else if ((d>a&&d>b)&& (d>c&&d>e)){
      System.out.printf("%d\t Es el mayor\n",d);
      }
      // bloque que determina el número menor

      if ((a<b&&a<c)&&(a<d&&a<e)){
      System.out.printf("%d\t Es el menor",a );

      }else if ((b<a&&b<c)&&(b<d&&b<e)){
      System.out.printf("%d\t Es el menor", b);

      } else if((c<a&&c<b)&& (c<d&&c<e)){
      System.out.printf("%d\t Es el menor",c);

      }else if ((e<a&&e<b)&&(e<c&&e<d)){
      System.out.printf("%d\t Es el menor",e);

      }else if ((d<a&&d<b)&& (d<c&&d<e)){
      System.out.printf("%d\t Es el menor",d);
      }

      }//fin del metodo main

      }// fin de la clase CincoEnteros

      Eliminar
  6. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  7. Aqui esta mi codigo, se iso muy grande tomando en cuenta todos los posibles errores y variables, si alguien lo puede hacer mas optimo adelante yo me fui por lo mas escabroso jaja (mas bien lo unico que se).

    import java.util.Scanner;

    public class Mayor3
    {
    public static void main(String[] args)
    {
    Scanner sc = new Scanner(System.in);
    int uno = 0, dos = 0, tres = 0;

    System.out.println("Imprime el mayor de tres numeros dados");
    System.out.print("Dame el primero numero: ");
    uno = sc.nextInt();
    System.out.print("Dame el segundo numero: ");
    dos = sc.nextInt();
    System.out.print("Dame el tercero numero: ");
    tres = sc.nextInt();

    if (uno != dos && uno != tres && dos != tres)
    {
    if (uno > dos && uno > tres)
    System.out.println(uno +" es el mayor");
    else if (dos > uno && dos > tres)
    System.out.println(dos +" es el mayor");
    else System.out.println(tres +" es el mayor");
    }
    else if (uno == dos && dos < tres)
    {
    System.out.println("Uno de los numeros es igual a otro.");
    System.out.println(tres + " es el mayor");
    }
    else if (uno == tres && tres < dos)
    {
    System.out.println("Uno de los numeros es igual a otro.");
    System.out.println(dos + " es el mayor");
    }
    else if (dos == tres && tres < uno)
    {
    System.out.println("Uno de los numeros es igual a otro.");
    System.out.println(uno + " es el mayor");
    }
    else if (uno == dos && dos > tres)
    {
    System.out.println("Uno de los numeros es igual a otro.");
    System.out.println(uno + " es el mayor");
    }
    else if (uno == tres && tres > dos)
    {
    System.out.println("Uno de los numeros es igual a otro.");
    System.out.println(tres + " es el mayor");
    }
    else if (dos == tres && tres > uno)
    {
    System.out.println("Uno de los numeros es igual a otro.");
    System.out.println(dos + " es el mayor");
    }

    }
    }

    ResponderEliminar
  8. si desean hacer el codigo mas profesional, pueden ocupar el algoritmo de "burbuja", el cual ordena los numeros y de esta manera ya tienes el mayor y el menor de manera bastante resumida. Solo tendrias que almacenar los datos en un array por ejemplo o si quieres puedes ocupar un tipo de "listas".

    Salu2

    ResponderEliminar
  9. Algo más limpio, corto, y para una serie de números "N", por si le sirve a alguien:

    import java.util.Scanner;



    public class Test
    {

    public static void main(String[] args)
    {
    Scanner s = new Scanner(System.in);
    int iMayor = Integer.MIN_VALUE;
    int iMenor = Integer.MAX_VALUE;
    for (int i=0;i<10;i++) {
    Integer iNumero=null;
    System.out.print("Numero ("+i+"): ");
    String a = s.nextLine();
    try {
    iNumero = Integer.parseInt(a);
    if (iNumero>iMayor) {
    iMayor = iNumero;
    }
    if (iNumero<iMenor) {
    iMenor = iNumero;
    }
    } catch (NumberFormatException e) {
    System.out.println("Error, no ha introducido un número entero, repita.");
    i--;
    }
    }
    System.out.println("Mayor: "+iMayor);
    System.out.println("Menor: "+iMenor);
    }
    }

    ResponderEliminar
  10. import java.util.*;
    import java.math.*;

    public class MayorDeTres {


    public static void main(String[] args) {

    int num1, num2, num3;

    Scanner n1 = new Scanner(System.in);
    System.out.println("Ingresa un numero");
    num1 = n1.nextInt();
    System.out.println("Ingresa otro numero");
    num2 = n1.nextInt();
    System.out.println("Ingresa otro y no rompo mas");
    num3 = n1.nextInt();
    System.out.println("El mayor numero es "+Math.max(Math.max(num1,num2),Math.max(num2,num3)));
    }

    }

    ResponderEliminar
    Respuestas
    1. Buen aporte Federico, es otra forma de resolverlo utilizando la clase Math, siempre que no nos pidan que lo hagamos utilizando if. ;)

      Eliminar
  11. public class EjercicioCondicional8 {

    public static void main(String[] args)
    {
    Scanner sc = new Scanner (System.in);
    int n1,n2,n3;
    System.out.print("Escribe primer número ");
    n1 = sc.nextInt();
    System.out.print("Escribe segundo número ");
    n2 = sc.nextInt();
    System.out.print("Escribe tercer número ");
    n3= sc.nextInt();
    if (n1 > n2 && n1>n3)
    System.out.print("El mayor es " + n1);
    else if (n2>n1 && n2>n3)
    System.out.print("El mayor es " + n2);
    else
    System.out.print("El mayor es " + n3);
    }
    }

    ResponderEliminar
  12. hola, saludos a todos, alguien me podría ayudar a realizar este programa? : Pida al usuario una cantidad entera e imprima el número mínimo de billetes o monedas de 500, 200, 100, 50, 10, 5, 2 y 1 pesos en que puede pagarse dicha cantidad.

    ResponderEliminar
  13. Cuando pruebas con los numeros 1,2 , 3 en ese orden .. saldra que el mayor es 2. pero si pruebas como lo mostrado acontinuacion.. si saldra.


    import javax.swing.JOptionPane;

    public class NumerosenOrden {
    @SuppressWarnings("empty-statement")
    public static void main(String[] args) {
    // Variables:
    double n1,n2,n3;
    // Entrada
    n1=Double.parseDouble(JOptionPane.showInputDialog("Ingrese 1er numero"));
    n2=Double.parseDouble(JOptionPane.showInputDialog("Ingrese 2er numero"));
    n3=Double.parseDouble(JOptionPane.showInputDialog("Ingrese 3er numero"));
    // Proceso y Salida

    if (n1>n2){;
    System.out.println("El mayor es:"+n1);
    JOptionPane.showMessageDialog(null, "El mayor es:"+n1);
    }else if (n3>n1){
    System.out.println("mayor:"+n3);
    JOptionPane.showMessageDialog(null, "El mayor es:"+n3);
    } else{
    System.out.println("mayor:"+n3);
    JOptionPane.showMessageDialog(null, "El mayor es:"+n2);
    }

    }}

    ResponderEliminar
  14. Les paso otra manera aún más sintética de resolverlo:

    import java.util.Scanner;

    class Ejercicio8{
    public static void main (String args []) {
    System.out.println ("Ingrese un número");
    Scanner sc1 = new Scanner (System.in);
    int num1 = sc1.nextInt();
    System.out.println ("Ingrese otro número");
    Scanner sc2 = new Scanner (System.in);
    int num2 = sc2.nextInt();
    System.out.println ("Ingrese otro número más");
    Scanner sc3 = new Scanner (System.in);
    int num3 = sc3.nextInt();
    int bigger = Integer.max (Integer.max(num1, num2), num3);
    System.out.println ("El mayor número es el " + bigger);
    }
    }

    ResponderEliminar
  15. y en ese mismo programa como hago para que me calcule la diferencia entre ellos

    ResponderEliminar
  16. disculpen lo puse mal entre ellos me referia la diferencia entre el mayor y el menor

    ResponderEliminar
  17. Aun mejor, este es de 6 numeros y si alguno esta repetido, te manda error en el

    import java.io.*;


    public class MayorX
    { //Inicia programa

    public static void main (String[]args)throws IOException

    { //Inicia Main

    //Declaramos variables
    int a = 0, b= 0, c = 0, d = 0, e = 0, f = 0;

    //Pedimos valores a usuario
    System.out.println("Ingrese un número entero:");

    BufferedReader bf= new BufferedReader (new InputStreamReader (System.in));

    a = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese otro numero entero:");

    b = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese otro número entero:");


    c = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese otro número entero:");

    d = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese otro número entero:");


    e = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese el ultimo número entero:");

    f = Integer.parseInt(bf.readLine( ));


    {if ((a>b)&&(a>c)&&(a>d)&&(a>e)&&(a>f))
    {
    System.out.println("El mayor es:"+a);}
    }
    {if ((b>a)&&(b>c)&&(b>d)&&(b>e)&&(b>f))
    {
    System.out.println("El mayor es:"+b);}
    }
    {if ((c>a)&&(c>b)&&(c>d)&&(c>e)&&(c>f))
    {
    System.out.println("El mayor es:"+c);}
    }
    {if ((d>a)&&(d>b)&&(d>c)&&(d>e)&&(d>f))
    {
    System.out.println("El mayor es:"+d);}
    }
    {if ((e>a)&&(e>b)&&(e>c)&&(e>d)&&(e>f))
    {
    System.out.println("El mayor es:"+e);}
    }
    {if ((f>a)&&(f>b)&&(f>c)&&(f>d)&&(f>e))
    {
    System.out.println("El mayor es:"+f);}
    }

    if ((a==b)|| (a==c)||(a==d)||(a==e)|| (a==f)|| (b==c)|| (b==d)||(b==e)||(b==f)||(c==d)||(c==e)||(c==f)||(d==e)||(d==f)||(e==f))

    System.out.println("No se puede definir el mayor:");







    }
    }

    ResponderEliminar
  18. Aun mejor, este es de 6 numeros y si alguno esta repetido, te manda error en el

    import java.io.*;


    public class MayorX
    { //Inicia programa

    public static void main (String[]args)throws IOException

    { //Inicia Main

    //Declaramos variables
    int a = 0, b= 0, c = 0, d = 0, e = 0, f = 0;

    //Pedimos valores a usuario
    System.out.println("Ingrese un número entero:");

    BufferedReader bf= new BufferedReader (new InputStreamReader (System.in));

    a = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese otro numero entero:");

    b = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese otro número entero:");


    c = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese otro número entero:");

    d = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese otro número entero:");


    e = Integer.parseInt(bf.readLine( ));

    System.out.println("Ingrese el ultimo número entero:");

    f = Integer.parseInt(bf.readLine( ));


    {if ((a>b)&&(a>c)&&(a>d)&&(a>e)&&(a>f))
    {
    System.out.println("El mayor es:"+a);}
    }
    {if ((b>a)&&(b>c)&&(b>d)&&(b>e)&&(b>f))
    {
    System.out.println("El mayor es:"+b);}
    }
    {if ((c>a)&&(c>b)&&(c>d)&&(c>e)&&(c>f))
    {
    System.out.println("El mayor es:"+c);}
    }
    {if ((d>a)&&(d>b)&&(d>c)&&(d>e)&&(d>f))
    {
    System.out.println("El mayor es:"+d);}
    }
    {if ((e>a)&&(e>b)&&(e>c)&&(e>d)&&(e>f))
    {
    System.out.println("El mayor es:"+e);}
    }
    {if ((f>a)&&(f>b)&&(f>c)&&(f>d)&&(f>e))
    {
    System.out.println("El mayor es:"+f);}
    }

    if ((a==b)|| (a==c)||(a==d)||(a==e)|| (a==f)|| (b==c)|| (b==d)||(b==e)||(b==f)||(c==d)||(c==e)||(c==f)||(d==e)||(d==f)||(e==f))

    System.out.println("No se puede definir el mayor:");







    }
    }

    ResponderEliminar
  19. Saludos, en programación existen mil maneras de resolver un mismo problema, a continuación les presento este ejemplo que consiste en determinar el mayor de 3 números ingresados, utilizando únicamente la estructura condicional IF, te hace pensar un poco y funciona muy bien.

    import java.util.Scanner;
    public class mayor_numero {

    public static void main(String[] ar) {
    Scanner keyboard = new Scanner(System.in);
    int num1,num2,num3,nummayor = 0;
    System.out.print(" Ingrese los tres numeros: ");
    num1 = keyboard.nextInt();
    num2 = keyboard.nextInt();
    num3 = keyboard.nextInt();
    if (num1 > num2) {
    if (num1 > num3) {
    nummayor = num1;
    } else {
    if (num3 > num2) {
    nummayor = num3;
    } else {
    if (num2 > num1) {
    nummayor = num2;
    }
    }
    }
    }else {
    if (num2 > num3) {
    nummayor = num2;
    }else {
    nummayor = num3;
    }
    }
    System.out.print(" El numero mayor es: ");
    System.out.print(nummayor);
    }

    }

    ResponderEliminar
  20. Otro ejemplo usando operadores lógicos &&

    import java.util.Scanner;

    public class num_mayor_logicos {
    public static void main(String[] ar) {
    Scanner teclado=new Scanner(System.in);
    int num1,num2,num3, nummayor = 0;
    System.out.print("Ingrese Tres Numeros: ");
    num1=teclado.nextInt();
    num2=teclado.nextInt();
    num3=teclado.nextInt();
    if (num1>num2 && num1>num3) {
    nummayor = num1;
    } else {
    if (num2>num3) {
    nummayor = num2;
    }else {
    nummayor = num3;
    }
    }
    System.out.print(" El numero mayor es: ");
    System.out.print(nummayor);
    }
    }

    ResponderEliminar
  21. Necesito un programa que me ejecuta esto en java, me podrian ayudar.

    Escriba un programa que lea las puntuaciones de cuatro exámenes (de 100 puntos cada uno) y calcule el promedio y la nota del estudiante eliminando la nota más baja. Por ejemplo, si el estudiante obtuvo 100, 80, 75 y 90 el promedio se calculará eliminando el 75. Para imprimir la nota se utilizará la curva estándar que hasta 90 es A, hasta 80 es B, hasta 70 es C, hasta 60 es D y menos de 60 es F.

    ResponderEliminar
  22. Realizar un algoritmo que calcule el mayor y menor número de 8 números ingresados

    ayudemen con este ejercicio

    ResponderEliminar
  23. import java.util.Scanner;

    /**
    *
    * @author (-_-)
    */
    public class mayorde3numeros {

    public static void main(String[] args) {


    Scanner teclado=new Scanner (System.in);

    int num1,num2,num3;

    System.out.println("algoritmo que determina el mayor de tres numeros");

    System.out.println("introduce el primer numero");
    num1=teclado.nextInt();

    System.out.println("introduce el segundo numero");
    num2=teclado.nextInt();

    System.out.println("introduce el tercer numero");
    num3=teclado.nextInt();

    if (num1>num2 && num1>num3)
    {
    System.out.println("mayor" +num1);
    }
    if (num2>num1 && num2>num3)
    {
    System.out.println("mayor" +num2);
    }

    if (num3>num1 && num3>num2)
    {
    System.out.println("mayor" +num3);
    }


    }
    }

    ResponderEliminar
  24. Pero se puede hacer una comparacion de "X" Numeros, sin utilizar ninguna estructura de control?

    ResponderEliminar
  25. hola me podrían ayudar con un ejercicio de vectores.
    Leer 10 números enteros, almacenarlos en un vector y determinar cuál es el número menor.

    ResponderEliminar
  26. import java.util.*;
    public class Ejercicio7{
    public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n1, n2, n3;
    System.out.println("Ingrese el primer numero: ");
    n1 = sc.nextInt();
    System.out.println("Ingrese el segundo numero: ");
    n2 = sc.nextInt();
    System.out.println("Ingrese el tercer numero: ");
    n3 = sc.nextInt();
    if(n1 > n2 && n1 > n3){
    System.out.println("El numero "+ n1 + " es mayor ");
    }else if(n2 > n1 && n2 > n3){
    System.out.println("El numero " + n2 + " es mayor ");
    }else{
    System.out.println("El numero " + n3 + " es mayor ");
    }
    }
    }

    ResponderEliminar
  27. quiero un programa : que permita determinar si un alumno esta desaprobado o aprobado para obtener el promedio se debera tomar en cuenta 5 unidades formativas cada una de ellas esta compuesta de 4 criterios, de los cuales se debera coger la nota mas alta para el promedio general el cual se obtendra de los tres unidades formativas mas altas si el alumno obtiene un programa igual o mayor que 14 se considera aprobado si su promedio esta entre 11 y 13 se considera pendiente y se pedira una nota extra y los alumnos con promedio menor qu 11 se considera desaprobado

    ResponderEliminar
  28. El programa propuesto por el que hizo este post tiene un fallo, y en un caso no muestra el numero mas grande. Lo pueden probar con los numeros 100, 40 , 21 y les dira que el mayor es 40 y no es verdad

    ResponderEliminar
  29. import java.util.Scanner;

    public class MayorTresNumeros {

    double num, num2, num3; // variables para almacenar los datos.
    String entra; // variable para entradas (y salida).
    Scanner teclado = new Scanner(System.in);

    public void inicio(){
    escribir("Calcula el mayor de tres números.");
    }

    public void datos(){
    do{
    escribir("Deme por favor el primer numero.");
    entra = teclado.nextLine(); // recibe el dato.
    if(!IsNum(entra)){ // if para verificar si el dato es valido.
    escribir("Debe escribir un numero.");
    } else {
    num = Double.parseDouble(entra); // si el dato es valido se guarda en la variable correspondiente.
    }
    } while(!IsNum(entra)); // si el dato no es valido se vuelve a pedir.
    do{
    escribir("Deme por favor el segundo numero.");
    entra = teclado.nextLine();
    if(!IsNum(entra)){
    escribir("Debe escribir un numero.");
    } else {
    num2 = Double.parseDouble(entra);
    }
    } while(!IsNum(entra));
    do{
    escribir("Deme por favor el tercer numero.");
    entra = teclado.nextLine();
    if(!IsNum(entra)){
    escribir("Debe escribir un numero.");
    } else {
    num3 = Double.parseDouble(entra);
    }
    } while(!IsNum(entra));
    }

    public void calculos(){
    entra = "el mayor es:"; // asignamos un texto que es repetitivo en la salida.
    if (num >= num2){
    if (num >= num3){
    escribir(entra+" "+num); // imprimimos el texto y el numero mayor.
    } else {
    escribir(entra+" "+num3);
    }
    } else {
    if (num2 >= num3){
    escribir(entra+" "+num2);
    } else {
    escribir(entra+" "+num3);
    }
    }
    }

    public void escribir(String text){ // recibe un texto y lo imprime.
    System.out.println(text);
    }

    public boolean IsNum(String cad){ // recibe un string y aplica validaciones de numero, decimal y negativo.
    for(int i= 0; i < cad.length(); i++){
    if((cad.charAt(i) >= '0' && cad.charAt(i) <= '9') || (cad.charAt(i) == '.') || (cad.charAt(i) == '-')){
    } else {
    return false;
    }
    }
    return true;
    }

    public static void main(String[] args) {
    MayorTresNumeros MTN = new MayorTresNumeros(); // instanciamos la clase.
    MTN.inicio(); // ejecuta el método inicio.
    MTN.datos(); // ejecuta el método datos.
    MTN.calculos(); // ejecuta el método cálculos.
    }
    }

    ResponderEliminar
  30. package Mayor;

    import java.util.Scanner;

    public class numMayor {

    public static void main(String[] args) {

    Scanner teclado = new Scanner(System.in);

    int num1 = 0,num2;

    System.out.println("Cuantos numeros quiere comparar?");
    int i = teclado.nextInt();

    for (int j = 1; j < i+1; j++) {

    if ((j == 1) || (j == 3)) {
    System.out.println("Ingrese el " + j + "er numero");
    }else{
    System.out.println("Ingrese el " + j + "º numero");
    }

    num2 = teclado.nextInt();
    if (num1 < num2) {
    num1 = num2;
    }
    }

    System.out.println(num1);
    }
    }

    ResponderEliminar