Java:如何为用户推算的单词创建变量

时间:2015-04-21 21:27:52

标签: java

我正在尝试创建一个程序,询问用户的姓名,年龄和他们喜欢的食物类型。然后该程序将重复他们所估算的内容。请注意,该计划尚未完成。一旦我写了这段特殊的代码,就会出错。请原谅我在编程方面缺乏智慧。我是一个非常新的学习者。

以下是代码:name = Test.nextDouble();

为了帮助您更好地理解程序,这是我的工作区:

import java.util.Scanner;

    class HelloProgram {
    public static void main(String args[]) {
        Scanner Test = new Scanner(System.in);
        double name, age, favfood;
        System.out.println("Hello there! Before we start, I would like to ask you a few questions!");
        System.out.println("Let us start with your name. What is it?");
        name = Test.nextDouble();
        System.out.println(name);

    }
}

尝试运行程序后,输入我的名字,我收到此错误:

Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Unknown Source)
    at java.util.Scanner.next(Unknown Source)
    at java.util.Scanner.nextDouble(Unknown Source)
    at HelloProgram.main(HelloProgram.java:9)

正如我之前所说,我确实认为这是因为使用" newDouble()"部分。这是因为" Double"不支持单词?

如果有人可以向我解释,为什么这不起作用并帮助我修复,我将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:4)

是" Double"不支持单词。 Double或double是浮点数字类型,仅接受数字。如果您想接受文本,请使用扫描程序的其他方法,例如next()nextLine(),它们都接受字符串,并生成名称和favfood变量字符串:

public static void main (String args[]){
    Scanner test = new Scanner (System.in);
    String name, favfood;
    double age;
    System.out.println("Hello there! Before we start, I would like to ask you a few questions!");
    System.out.print("Let us start with your name. What is it? ");
    name = test.nextLine();
    System.out.println(name);
}

其他建议让您和其他人(我们!)更容易理解您的代码:

  • 学习并遵循Java命名约定,包括提供变量,例如" test"以小写字母开头的名称,以以大写字母开头的类名称。
  • 代码缩进对于跟踪哪个代码属于哪个块非常重要。例如,所有嵌套块应缩进4个空格 - 您的main方法应缩进,但不是。

答案 1 :(得分:0)

double用于浮点值。我不擅长解释,但您需要使用String表示文本值,并使用int表示整数。