需要在java中找到最多三个数字

需要在java中找到最多三个数字,java,max,Java,Max,可能重复: 编写一个程序,使用扫描仪读取三个整数(正)显示三个整数中的最大数。(请在不使用任何运算符&&或| |的情况下完成。这些运算符将很快在课堂上介绍。同样,不需要循环。) 我想知道这段代码有什么问题,以及当我输入3个不同的值时如何找到最大值。如果您提供了您看到的错误,这会有所帮助。查看,您将看到max只返回两个数字之间的max,因此您的代码可能甚至没有编译 首先解决所有编译错误 然后,你的家庭作业将包括通过比较前两个数字来找出三个数字的最大值,并将最大值结果与第三个值进行比较。你现在应该

可能重复:

编写一个程序,使用扫描仪读取三个整数(正)显示三个整数中的最大数。(请在不使用任何运算符
&&
| |
的情况下完成。这些运算符将很快在课堂上介绍。同样,不需要循环。)


我想知道这段代码有什么问题,以及当我输入3个不同的值时如何找到最大值。

如果您提供了您看到的错误,这会有所帮助。查看,您将看到max只返回两个数字之间的max,因此您的代码可能甚至没有编译

首先解决所有编译错误


然后,你的家庭作业将包括通过比较前两个数字来找出三个数字的最大值,并将最大值结果与第三个值进行比较。你现在应该有足够的钱来找到你的答案

您应该了解更多关于
java.lang.Math.max

  • java.lang.Math.max(arg1,arg2)
    只接受2个参数,但您是 在代码中编写3个参数
  • 这两个参数应该是
    double
    int
    long
    float
    ,但您的 在Math.max函数中写入
    字符串
    参数。您需要以所需类型解析它们
  • 由于上述不匹配,您的代码将产生编译时错误

    尝试以下更新的代码,这将解决您的问题:

    import java.lang.Math;
    import java.util.Scanner;
    public class max {
        public static void main(String[] args) {
            Scanner keyboard = new Scanner(System.in);
            System.out.println("Please input 3 integers: ");
            int x = Integer.parseInt(keyboard.nextLine());
            int y = Integer.parseInt(keyboard.nextLine());
            int z = Integer.parseInt(keyboard.nextLine());
            int max = Math.max(x,y);
            if(max>y){ //suppose x is max then compare x with z to find max number
                max = Math.max(x,z);    
            }
            else{ //if y is max then compare y with z to find max number
                max = Math.max(y,z);    
            }
            System.out.println("The max of three is: " + max);
        }
    } 
    

    两件事:将变量
    x
    y
    z
    更改为
    int
    ,并将方法调用为
    Math.max(Math.max(x,y,z)
    ,因为它只接受两个参数

    总之,变化如下:

        String x = keyboard.nextLine();
        String y = keyboard.nextLine();
        String z = keyboard.nextLine();
        int max = Math.max(x,y,z);
    


    两件事:将变量
    x
    y
    z
    更改为
    int
    ,并将
    max
    方法调用为
    Math.max(Math.max(x,y,z)
    ,因为它只接受两个参数。检查修复代码段的答案。Apache最多返回三个int值。
    Math.max
    只接受两个参数,这些参数必须是数字。因此
    Math.max(Math.max(Integer.valueOf(x),Integer.valueOf(y)),Integer.valueOf(z))
    将解决这个问题。
        String x = keyboard.nextLine();
        String y = keyboard.nextLine();
        String z = keyboard.nextLine();
        int max = Math.max(x,y,z);
    
        int x = keyboard.nextInt();
        int y = keyboard.nextInt();
        int z = keyboard.nextInt();
        int max =  Math.max(Math.max(x,y),z);