这是我的代码到目前为止的样子。
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
String name, age, job;
System.out.println("What is your name?");
name = keyboard.next();
System.out.println("How old are you?");
age = keyboard.next();
System.out.println("What do you do for a living?");
job = keyboard.next();
System.out.println("Your name is " + name + ". You are " + age + " year old. And you live as a " + job + ".");
}
如果可能的话,我想详细了解它,因为这是我真正想要学习的东西。
每次程序获得"工作"输入,只有空格之前的第一个单词存入"作业"变量
提前致谢。这是我的第一个帖子。希望我能成为这个令人敬畏的社区的一部分。 :)
答案 0 :(得分:0)
您可以将给定的String
与字符like so分开。除此之外,您可以使用GUI(但如果它的控制台,我能想到的最好的是Split
)。
编辑:
当然,你输入像#" John Do"并由white space
分隔成另外两个字符串。
答案 1 :(得分:0)
您正在使用Scanner.next()
从用户检索数据。在没有任何其他配置的情况下,此方法将检索下一个标记,其中标记是由空格分隔的非空格字符序列
这就解释了为什么你只检索作业的第一个单词(这也会发生在其他信息中)。
如果您想要检索多个单词,则可以改为Scanner.nextLine()
请注意,您将无法输入三个数据并按Enter键,这是当前代码可能出现的行为。
答案 2 :(得分:0)
作业变量仅包含一个单词的原因是因为您使用 keyboard.next() 使用 作业= keyboard.nextLine();
因此作业变量将存储您输入的整行字符串。
我建议您对所有String类型的键盘输入使用nextLine()而不是next(),这样您就不会再遇到这个问题了