4 回答

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
當(dāng)我開始用 java 編寫代碼時(shí),我遇到了同樣的問題。就像讀取混合了整數(shù)和字符串的輸入一樣。
例如:
如果你想讀...
5 // as an Integer
Hi there // as a string
你必須這樣編碼
Scanner in = new Scanner(System.in);
int number = in.nextInt();
in.next();
String str = in.nextLine();
我把那個(gè)額外的in.next()移動(dòng)到下一行緩沖區(qū)(因?yàn)樗粫?huì)在讀取整數(shù)后在同一行的末尾)。
所以,現(xiàn)在回答你的問題,next()將只讀取字節(jié)直到出現(xiàn)空格。所以如果你想閱讀一整行輸入,你必須使用nextLine()。nextLine()將讀取整行。

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
這就是.next()工作原理。它需要字符串直到第一個(gè)空格。這對(duì)你有用:
String a;
while(qx.hasNext){
a = a + qx.next();
}
然后繼續(xù)你的循環(huán)。

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
next
返回不超過一個(gè)空白字符(空格、制表符、回車)的任何字符串。
您需要使用nextLine
which 返回回車符(也稱為回車符)之前的任何字符串。

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊
此代碼將幫助您從主字符串中提取確切的子字符串
public static void main (String [] args) {
Scanner input = new Scanner (System.in);
System.out.println("Enter a String");
String name = input.next();
/*from this line it will extract the charcter from the string
* according to tour indexes given
*/
String subString = name.substring(0, 3);
System.out.println("Substring is :"+subString);
}
添加回答
舉報(bào)