有誰知道我可以如何讓掃描器忽略空間?我想輸入一個第一名和第二名,但掃描儀不會讓我,我要保存的全名忽略空格,空格
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