gpt4 book ai didi

java - 需要帮助 - Java Else/If 语句

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

我目前正在尝试完成这个 Java 编程练习项目,但遇到了困难...我不确定我的问题是什么,所以我可以获得一些帮助吗?

以下是完整代码:

package AreaElseIf;

import java.io. *;
import java.util. *;

public class AreaElseIf {

public static void main(String[] args) {

final double PI = 3.14;
Scanner input = new Scanner(System.in);

System.out.println("This program uses an else/if statement.");

System.out.println("1 = circle, 2 = square, 3 = rectangle, 4 = triangle.");
int object = input.nextInt();

if (input = 1) {
System.out.println("Enter circle's radius: ");
double radius = input.nextDouble();
double cArea = radius * radius * PI;
System.out.println("The area of a circle with the radius of " + radius + " is " + cArea + ".");
}
else if (input = 2) {
System.out.println("Enter length of square's sides: ");
double sSide = input.nextDouble();
double sArea = sSide * sSide;
System.out.println("The area of a square with a side length of " + sSide + " is " + sArea + ".");
}
else if (input = 3) {
System.out.println("Enter length of rectangle's base: ");
double base = input.nextDouble();
System.out.println("Enter length of rectangle's height: ");
double height = input.nextDouble();
double rArea = base * height;
System.out.println("The area of a rectangle with a base length of " + base + " and a height of " + height + " is " + rArea + ".");
}
else if (input = 4) {
System.out.println("Enter traingle's side length: ");
double tSide = input.nextDouble();
double tArea = tSide * tSide * tSide;
System.out.println("The area of a triangle with a side length of " + tSide + " is " + tArea + ".");
}
else {
System.out.println("Error: Please enter a number between 1-4 only.");
}

}//end main
}//end class

该程序的目的是要求用户输入一个1到4之间的数字,每个数字都分配给一个形状。如果您单击该形状的数字,它会询问您几个问题以计算该形状的面积。这个程序的重点是使用 else/if 来完成它。

我收到的错误只是“(input = 1,2,3,4...)”行input = # 都是红色下划线。

错误的措辞如下:“类型不匹配。无法从 int 转换为 Scanner”“类型不匹配。无法从扫描仪转换为 boolean 值”

我不明白这些意味着什么,并且希望得到一些帮助。

最佳答案

问题的第一部分是您在每个 if/else 语句中使用了赋值运算符 = 。要测试相等性,请使用 == 运算符,因为它返回一个 boolean 值(如果相等则为 true,否则为 false)。

问题的后半部分是您根据 int 值测试了扫描仪,您应该测试扫描仪的结果(在您的情况下,它看起来像 object 检索用户的 int )。

最终你的 if 应该是这样的:

if(对象 == 1) {
...

关于java - 需要帮助 - Java Else/If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25885790/

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