亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取字符串中的字母。為什么我的代碼不能正常工作?

獲取字符串中的字母。為什么我的代碼不能正常工作?

慕尼黑8549860 2022-12-15 15:16:55
我是java的新手,幾乎沒有時間研究它。實際上,我的問題有點尷尬和毫無意義。我正在嘗試從用戶輸入中獲取字母。我知道有更有效的方法可以做到這一點,但我只想知道這種方法有什么問題。問題是當我寫一個不包含任何空格的字符串時,程序沒問題,但如果我寫一個帶有空格的字符串,它就會停止工作。Scanner qx = new Scanner(System.in);String a = qx.next();for(int b = 0; b<a.length();b++){    char z = a.charAt(b);    System.out.print(z + " ");    }例如:當我寫"Hi there"(不帶引號)時,我希望輸出"H i t h e r e"But it only shows "H i "?f I would have written "Hithere" it would show"H i t h e r e "那么為什么有空格和沒有空格的區別呢?另外,我為我的語法感到抱歉。我努力做到最好,但我已經很久沒有練習了。
查看完整描述

4 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

當我開始用 java 編寫代碼時,我遇到了同樣的問題。就像讀取混合了整數和字符串的輸入一樣。


例如:


如果你想讀...


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();

我把那個額外的in.next()移動到下一行緩沖區(因為它只會在讀取整數后在同一行的末尾)。


所以,現在回答你的問題,next()將只讀取字節直到出現空格。所以如果你想閱讀一整行輸入,你必須使用nextLine()。nextLine()將讀取整行。


查看完整回答
反對 回復 2022-12-15
?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

這就是.next()工作原理。它需要字符串直到第一個空格。這對你有用:


String a;

while(qx.hasNext){

a = a + qx.next();

}

然后繼續你的循環。


查看完整回答
反對 回復 2022-12-15
?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

next返回不超過一個空白字符(空格、制表符、回車)的任何字符串。

您需要使用nextLinewhich 返回回車符(也稱為回車符)之前的任何字符串。


查看完整回答
反對 回復 2022-12-15
?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

此代碼將幫助您從主字符串中提取確切的子字符串


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);


}


查看完整回答
反對 回復 2022-12-15
  • 4 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號