[英]New To Java (Program Keeps Terminating)
需要帮助:这是我的代码: http : //pastebin.com/7aG0xbhJ不知道如何在这里发布它。 只是一直说终止。 试图创建一个计算器。
import java.util.Scanner;
public class Calculator {
public static void main(String args[]) {
Scanner input=new Scanner(System.in);
System.out.println("Welcome to My Multi Calculator");
System.out.println("Here are the choices:");
System.out.println("(1) Convert Pounds to Kilograms");
System.out.println("(2) Convert USD to Euro");
System.out.println("(3) Convert Degrees F to C");
System.out.println("(4) Calculate 20% gratuity on a bill");
System.out.println("(5) Calculate if a number is prime");
System.out.println("(6) Calulate the absolute difference of two numbers");
System.out.println("(7) Quit");
if (input.equals("1")) {
//System.out.println("1");
System.out.println("Input amount:");
double size = input.nextInt();
System.out.println("Answer: "+ size*0.453592);
}
if (input.equals("2")) {
System.out.println("2");
}
if (input.equals("3")) {
System.out.println("3");
}
if (input.equals("4")) {
System.out.println("4");
}
if (input.equals("5")) {
System.out.println("5");
}
if (input.equals("6")) {
System.out.println("6");
}
if (input.equals("7")) {
System.out.println("7");
}
}
}
如上所述,您正在测试 Scanner 对象是否等于 String 实例,这永远不会是真的,因为它们是完全不同类型的对象。
你想替换这个:
Scanner input=new Scanner(System.in);
// printing here
if (input.equals(...
有了这个:
Scanner scanner = new Scanner(System.in);
// printing here
String input = scanner.nextLine();
if (input.equals(...
另外:当然,当你这样做时,你还需要更改其他引用,如
double size = input.nextInt();
使用您的扫描仪实例:
double size = scanner.nextInt();
你在正确的轨道上,但试着从更广泛的意义上来思考它。 您希望您的程序停止退出,对吗? 您可以使用什么类型的逻辑来实现该行为?
您想要的是让您的程序循环直到给出某个参数,从而使其结束。 像下面这样的东西应该工作
while(!"USER_INPUT".equals("7")) {
//continue checking values
}
这将允许您检查值的循环继续运行,只要用户输入的内容不等于您的退出案例。 您还需要确保在该循环中提示用户进行其他输入。 没有它,您将陷入该循环而没有任何改变。
我希望这个帮助能祝你好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.