Java 程序将字符串作为用户输入并将其存储在数组中,然后打印出来
Java program to take string as user input and store it in array, then print it
如果我无法解释这个问题,我很抱歉。当我接受用户输入时,它只打印字符串的第一个单词。
帮助我了解我遗漏了什么,或者为什么在我接受用户输入时它不起作用。
当我传递输入“This is Mango”时,它只打印
This
.
相反,我想将其打印为 This
is
Mango
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter the String: ");
String str= in.next();
String[] words = str.split("[[ ]*|[//.]]");
for(int i=0;i<words.length;i++)
System.out.println(words[i]+" ");
如果我给出一个硬编码的字符串,它可以将它保存在数组中。
String str = "This is a sample sentence.";
String[] words = str.split("[[ ]*|[//.]]");
for(int i=0;i<words.length;i++)
System.out.println(words[i]+" ");
当我运行上面的代码时,它打印为
This
is
a
sample
sentence
更改此行:
String str = in.next();
对此:
String str = in.nextLine();
这样,您的 Scanner 对象将读取整行输入。
如果您只使用 next()
,它只会读取输入,直到遇到 space。同时,nextLine()
读取整行(直到您在提供输入时转义到下一行)。另请注意,如果您想读取其他数据类型,则需要使用相应的函数。例如,要读取整数,您应该使用 nextInt()
.
希望对您有所帮助!
如果我无法解释这个问题,我很抱歉。当我接受用户输入时,它只打印字符串的第一个单词。 帮助我了解我遗漏了什么,或者为什么在我接受用户输入时它不起作用。
当我传递输入“This is Mango”时,它只打印
This
.
相反,我想将其打印为 This
is
Mango
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter the String: ");
String str= in.next();
String[] words = str.split("[[ ]*|[//.]]");
for(int i=0;i<words.length;i++)
System.out.println(words[i]+" ");
如果我给出一个硬编码的字符串,它可以将它保存在数组中。
String str = "This is a sample sentence.";
String[] words = str.split("[[ ]*|[//.]]");
for(int i=0;i<words.length;i++)
System.out.println(words[i]+" ");
当我运行上面的代码时,它打印为
This
is
a
sample
sentence
更改此行:
String str = in.next();
对此:
String str = in.nextLine();
这样,您的 Scanner 对象将读取整行输入。
如果您只使用 next()
,它只会读取输入,直到遇到 space。同时,nextLine()
读取整行(直到您在提供输入时转义到下一行)。另请注意,如果您想读取其他数据类型,则需要使用相应的函数。例如,要读取整数,您应该使用 nextInt()
.
希望对您有所帮助!