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

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

如何在 Java 的 for 循環中獲取不同數據類型的多個用戶輸入?

如何在 Java 的 for 循環中獲取不同數據類型的多個用戶輸入?

繁花如伊 2022-06-04 09:10:46
我試圖提示用戶輸入一個字符串,該字符串將存儲在一個字符串數組中,然后是一個輸入的 int,它將被放入一個 int 數組中。我遇到了打印第一行的問題,但沒有提示用戶輸入字符串。然后立即打印第二個打印語句,用戶只能輸入一個 int。到目前為止,我有:    int i, n = 10;    String[] sentence = new String[1000];    int[] numbers = new int[1000];    for(i = 0; i < n; i++)        {        System.out.println("Enter String" + (i + 1) + ":");        sentence[i] = scan.nextLine();        System.out.printf("Enter int " + (i + 1) + ":");        numbers[i] = scan.nextInt();        }作為輸出,我得到:Enter String 1:Enter int 1:在這里你可以輸入一個 int,并將它存儲到 int 數組中。但是您不能為字符串數組輸入字符串。請幫忙。
查看完整描述

3 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

這個問題是由于nextInt()方法造成的。


這里發生的是該nextInt()方法使用用戶輸入的整數,而不是用戶輸入末尾的換行符,這是在您按下enter鍵時創建的。


enter因此,當您在輸入整數后按下時,下一次調用會nextLine()消耗新的換行符,該換行符在循環的最后一次迭代中沒有消耗nextInt()。這就是為什么它String在循環的下一次迭代中跳過輸入并且不等待用戶輸入String


解決方案


nextLine()您可以通過在調用后nextInt()調用來消耗換行符


for(i = 0; i < n; i++)

{

    System.out.println("Enter String" + (i + 1) + ":");

    sentence[i] = scan.nextLine();


    System.out.printf("Enter int " + (i + 1) + ":");

    numbers[i] = scan.nextInt();

    scan.nextLine();             // <------ this call will consume the new line character

}


查看完整回答
反對 回復 2022-06-04
?
千巷貓影

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

像這樣放置 scan.nextLine() :


for(i = 0; i < n; i++){

    System.out.println("Enter String" + (i + 1) + ":");

    sentence[i] = scan.nextLine();


    System.out.printf("Enter int " + (i + 1) + ":");

    numbers[i] = scan.nextInt();

    scan.nextLine();


}


查看完整回答
反對 回復 2022-06-04
?
aluckdog

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

使用 sc.next(); 而不是 sc.nextLine(); 如果無法在第一次迭代中輸入字符串值。


Scanner sc = new Scanner(System.in);


for(i = 0; i < n; i++);

    System.out.println("Enter String" + (i + 1) + ":");

    sentence[i] = sc.next();


    System.out.printf("Enter int " + (i + 1) + ":");

    numbers[i] = sc.nextInt();

    sc.nextLine();

}


查看完整回答
反對 回復 2022-06-04
  • 3 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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