gpt4 book ai didi

java - 如何编写一个程序来提出多项选择问题,然后对每个答案执行输入操作?

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

我正在尝试编写一个程序,其中用户必须从多项选择问题中选择一个答案。如果该用户从三个选项中选择一个,则用户必须输入一个数字以便程序进行计算。我希望程序提出的问题是“您想计算平方根、对数还是阶乘吗?”。另外,我可以将 if-else 条件合并到同一个程序中吗?这是到目前为止我的代码:

System.out.println("Would you like to calculate?");
String choice = new choice[3];
choice[0] = "Square root";
choice[1] = "Logarithm";
choice[2] = "Factorial";
choice = scan.nextString();

if (choice = "Square root") {
System.out.println("Enter the number to square root: ");
double x = scan.nextDouble();
System.out.println(Math.sqrt(x));
} else if (choice = "Logarithm") {
System.out.println("Enter the number to log: ");
double x = scan.nextDouble();
System.out.println(Math.log(x));
} else {
System.out.println("Enter the number to do factorial: ");
double x = scan.nextDouble();
System.out.println(factorial(x));
}

我觉得我的代码不正确。这是我第一次编写提出多项选择题的程序。如果您对如何纠正此问题有任何建议,请告诉我。

谢谢。

最佳答案

你可以这样做

 System.out.println("Would you like to calculate?");
System.out.println("1- Square root/n2- Logarithm\n3- Factorial");

Scanner scan = new Scanner(System.in);
int choice = scan.nextInt();

if (choice == 1) {
System.out.println("Enter the number to square root: ");
double x = scan.nextDouble();
System.out.println(Math.sqrt(x));
} else if (choice == 2) {
System.out.println("Enter the number to log: ");
double x = scan.nextDouble();
System.out.println(Math.log(x));
} else if (choice == 3) {
System.out.println("Enter the number to do factorial: ");
double x = scan.nextDouble();
System.out.println(factorial(x));
} else {
System.out.println("Invalid choice");
}

您还比较了 if 中的字符串和 = 符号。这是错误的。我们使用“.equal()”方法来比较java中的字符串。例如

if (choice.equal("Factorial");

如果你想像你的方法那样做。那么你就会遇到一些语法错误。第 2 行应该是 new String() 而不是 new choice()。另外,你为什么要制作字符串数组?正确的代码应该是这样的。

System.out.println("Would you like to calculate?");

String choice = scan.nextString();

if (choice.equal("Square root")) {
System.out.println("Enter the number to square root: ");
double x = scan.nextDouble();
System.out.println(Math.sqrt(x));
} else if (choice.equal("Logarithm")) {
System.out.println("Enter the number to log: ");
double x = scan.nextDouble();
System.out.println(Math.log(x));
} else if (choice.equal("Factorial") {
System.out.println("Enter the number to do factorial: ");
double x = scan.nextDouble();
System.out.println(factorial(x));
}

关于java - 如何编写一个程序来提出多项选择问题,然后对每个答案执行输入操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61409808/

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