gpt4 book ai didi

java - 对于参数类型 boolean、double,运算符 > 未定义

转载 作者:行者123 更新时间:2023-12-01 06:28:38 24 4
gpt4 key购买 nike

我是一名新程序员,如果这真的很基础,我很抱歉。我在这个网站上寻找答案,我可以找到非常相似的问题,但没有一个是我需要的。

import java.util.Scanner;

public class sortThreeIntegers
{
public static void main (String[] args)
{
Scanner input = new Scanner(System.in);
Scanner input2 = new Scanner(System.in);
Scanner input3 = new Scanner(System.in);
System.out.println("Enter the first number: ");
System.out.println("Enter the second number: ");
System.out.println("Enter the third number: ");

double firstNumber = input.nextDouble();
double secondNumber = input2.nextDouble();
double thirdNumber = input3.nextDouble();

if (firstNumber > secondNumber > thirdNumber == true)
{
System.out.println(firstNumber + ", " + secondNumber + ", " + thirdNumber);
}
else if (firstNumber > thirdNumber > secondNumber == true)
{
System.out.println(firstNumber + ", " + thirdNumber + ", " + secondNumber);
}
}
}

注意:这是我编写代码的过程中,我还没有完成。

为什么我收到错误“运算符 > 对于参数类型 boolean 值、 double 值未定义”?再次抱歉,如果这真的很简单。

最佳答案

if (firstNumber > secondNumber > thirdNumber == true)

这是无效的;你想要:

if (firstNumber > secondNumber && secondNumber > thirdNumber)

您的 else if 条件也是如此。

您无法像在 Python 中那样在 Java 中进行链接比较。此外, boolean 表达式中永远不需要 == true。毕竟,x == true 始终是 x

<小时/>

您收到的错误是有道理的,因为您的表达式被评估为:

(firstNumber > secondNumber) > thirdNumber

现在 (firstNumber > secondaryNumber) 是一个 boolean 值,不能与 double (thirdNumber) 进行比较。

<小时/>

最后,看起来您只是想按排序顺序输出数字。为什么不定期排序,然后输出结果呢?另外:不要使用三个不同的扫描仪!一样的东西用3次就可以了。

这就是我对数字进行排序的意思:

double numbers[] = {firstNumber, secondNumber, thirdNumber};
Arrays.sort(numbers);
System.out.println(numbers[2] + ", " + numbers[1] + ", " + numbers[0]);

关于java - 对于参数类型 boolean、double,运算符 > 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22305632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com