Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么不能将Math.max和Math.min相加或相减?_Java_Math - Fatal编程技术网

Java 为什么不能将Math.max和Math.min相加或相减?

Java 为什么不能将Math.max和Math.min相加或相减?,java,math,Java,Math,我正在试图弄清楚为什么Math.max和Math.min不起作用。 我知道如果我想的话,我也可以使用和if-else语句,但是有没有一种方法可以不用if-else来实现呢 Scanner Scan = new Scanner(System.in); System.out.println("Enter three integers(Use enter in between): "); int x = Scan.nextInt(); int y = Scan.nex

我正在试图弄清楚为什么Math.max和Math.min不起作用。 我知道如果我想的话,我也可以使用和if-else语句,但是有没有一种方法可以不用if-else来实现呢

    Scanner Scan = new Scanner(System.in);

    System.out.println("Enter three integers(Use enter in between): ");
    int x = Scan.nextInt();
    int y = Scan.nextInt();
    int z = Scan.nextInt();

    System.out.println(
      Math.min(x, Math.min(x, z))+", " // Prints the minimum of {x, z}
      +Math.max(x, Math.max(y, z))+", " // Prints the maximum of {x, y, z}
      +(
        Math.max(x, Math.max(y, z)) // Get the max of {x, y, z}
        +Math.min(x, Math.min(y, z)) // Get the min of {x, y, z}
        // Sum should be the sum of smallest and largest of {x, y, z}
      ) // Convert to string
      +(-x-y-z) // The sum of -1 * x+y+z, converted to String
    ); // println
在我看来,一旦将
Math.min(x,Math.min(x,z))
更改为
Math.min(x,Math.min(y,z))

请解释你所说的“不工作”是什么意思。我向你保证
Math.max
Math.min
工作正常。你得到的是什么输出,它与你期望它做的有什么不同?这部分是无用的
Math.min(x,Math.min(x,z))
:如果
z
是min,那么用
x
第二次做min并不重要。如果
x
是最小值,那么您只需执行
min(x,x)
。如果您需要两次相同的操作(x,y和z的最小值/最大值),请使用变量。可能有助于清理此问题。如果与
+
运算符一起使用的任何变量是
字符串
,则
+
将像字符串串联一样工作。所以如果你有
System.out.println(1+“,+2+3)它将导致
1,23
不在
1,5
中。要获得
1,5
,您需要使用如下括号
System.out.println(1+”,“+(2+3))