新到 Java(程序不断终止)
New To Java (Program Keeps Terminating)
需要这方面的帮助:
这是我的代码:http://pastebin.com/7aG0xbhJ
无法弄清楚如何 post 在这里。
只是一直说终止。正在尝试创建一个计算器。
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
}
这将允许您检查值的循环继续到 运行,只要用户输入的内容不等于您的退出情况。您还需要确保在该循环内提示用户进行另一次输入。没有它,您只会陷入那个循环而不会发生任何变化。
希望对您有所帮助,祝您好运!
需要这方面的帮助: 这是我的代码:http://pastebin.com/7aG0xbhJ 无法弄清楚如何 post 在这里。 只是一直说终止。正在尝试创建一个计算器。
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
}
这将允许您检查值的循环继续到 运行,只要用户输入的内容不等于您的退出情况。您还需要确保在该循环内提示用户进行另一次输入。没有它,您只会陷入那个循环而不会发生任何变化。
希望对您有所帮助,祝您好运!