Java:如何为用户输入的单词创建变量
我正在尝试创建一个程序,询问用户的姓名、年龄和他们最喜欢的食物类型。然后,程序将重复他们估算的内容。请注意,程序尚未完成。一旦我写了这段特殊的代码,我就会得到一个错误。请原谅我在编程方面缺乏智慧。我是一个非常新的学习者 下面是代码:Java:如何为用户输入的单词创建变量,java,Java,我正在尝试创建一个程序,询问用户的姓名、年龄和他们最喜欢的食物类型。然后,程序将重复他们估算的内容。请注意,程序尚未完成。一旦我写了这段特殊的代码,我就会得到一个错误。请原谅我在编程方面缺乏智慧。我是一个非常新的学习者 下面是代码:name=Test.nextDouble() 为了帮助您更好地理解该计划,以下是我的工作区: import java.util.Scanner; class HelloProgram { public static void main(String
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”不支持单词吗
如果有人能向我解释为什么这不起作用,并帮助我修复它,我将不胜感激。谢谢。是,“Double”不支持单词。Double或Double是浮点数字类型,仅接受数字。如果要接受文本,请使用Scanner的其他方法,如next()
或nextLine()
,它们都接受字符串,并使name和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命名约定,包括提供变量,如以小写字母开头的“测试”名称和以大写字母开头的类名称李>
- 代码缩进对于跟踪哪个代码属于哪个块非常重要。例如,所有嵌套块都应该缩进4个空格——您的主方法应该缩进,但它不是
是“双精度”不支持单词。Double或Double是浮点数字类型,仅接受数字。如果要接受文本,请使用Scanner的其他方法,如next()
或nextLine()
,它们都接受字符串,并使name和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命名约定,包括提供变量,如以小写字母开头的“测试”名称和以大写字母开头的类名称李>
- 代码缩进对于跟踪哪个代码属于哪个块非常重要。例如,所有嵌套块都应该缩进4个空格——您的主方法应该缩进,但它不是
A
double
用于浮点值。我不擅长解释,但您需要使用字符串
表示文本值,使用int
表示整数 Adouble
用于浮点值。我不擅长解释,但您需要使用字符串
表示文本值,使用int
表示整数 我认为您应该学习Java基础知识。阅读一些初学者教程。您可能应该在这里使用字符串而不是双精度字符串。我认为您应该学习Java基础知识。阅读一些初学者教程。您可能应该在这里使用字符串而不是double。double始终是一个整数,就像值No一样,它不是<代码>双精度
!=int
。我正确地查找了它,double用于精确值。我想说的是不同的,因为double类似于浮点数,它们包含浮点数(非整数)的值,double比float更精确,但仍然不是“精确值”。为了获得高精度,您可以使用BigDecimal,但您还必须支付这种类型的成本——更大的内存占用和更低的计算速度。double始终是一个类似于值的整数不,它不是<代码>双精度
!=int
。我正确地查找了它,double用于精确值。我想说的是不同的,因为double类似于浮点数,它们包含浮点数(非整数)的值,double比float更精确,但仍然不是“精确值”。为了获得高精度,您可以使用BigDecimal,但是您还必须支付这种类型的成本——更大的内存占用和更低的计算速度。感谢您的快速响应。我从未想过添加两种不同的变量类型;)谢谢你的迅速回复。我从未想过添加两种不同的变量类型;)