有谁知道我可以如何让扫描器忽略空间?我想输入一个第一名和第二名,但扫描仪不会让我,我要保存的全名忽略空格,空格
String name;
System.out.print("Enter name: ");
name = scan.next(); //Ex: John Smith
System.out.println(name);
编辑: 新的问题。而在我的扩展程序中使用nextLine,nextLine只是忽略了整个问题并继续前进,没有机会扫描名称。
有谁知道我可以如何让扫描器忽略空间?我想输入一个第一名和第二名,但扫描仪不会让我,我要保存的全名忽略空格,空格
String name;
System.out.print("Enter name: ");
name = scan.next(); //Ex: John Smith
System.out.println(name);
编辑: 新的问题。而在我的扩展程序中使用nextLine,nextLine只是忽略了整个问题并继续前进,没有机会扫描名称。
Scanner#next()
分裂周围的空白行。 。Scanner.nextLine()
没有,因此留下空格
name = scan.nextLine(); //Ex: John Smith
听起来像你想读整行(减去行结尾)。如果有人进入, “海伦 - [R·史密斯”,你可以在阅读符合:
name = scan.nextLine();
Scanner.next
划使用空格,读一个完整的行,你可以使用:
name = scan.nextLine();
嗯,首先是System.out.print你();电话有缺陷。这里的一切都必须是内报价 System.out.print("Enter name: ");
scan.next()
获取流中的下一个字符,而scan.nextLine()
获取下一行(由EOL字符终止),这可能对你更有帮助。
之后,您可以创建一个单词数组,例如 String[] broken = name.split(" ");
这会将您输入的所有单词分隔为空格。
然后你可以像
for(int i = 0; i < broken.size; i++)
{
System.out.print(broken[i] + " ");
}
System.out.println();
帮助,帮助,我被压迫:( –
你可以这样做
import java.util.*;
class scanner2
{
public static void main(String args[])
{
Scanner in= new Scanner(System.in);
System.out.println("enter the name");
String name= in.nextLine();//for name with spaces with more than one word or for one word.
System.out.println("enter single word");
String rl= in.next();//single word name
System.out.println("name is "+name+" rl is "+rl);
}
}
执行它,你将得到你的答案。
如果“输入姓名”在另一个问题后出现,则可能需要再次调用nextLine两次 - 一次超过先前的答案,再次阅读下一个答案。 – jspcal