繁体   English   中英

Java 新手(程序不断终止)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM