由于某種原因,我的字串陣列的第一個元素始終為空白,我似乎無法找出陣列輸入和顯示代碼中的錯誤:
import java.util.Scanner;
public class Source {
public static void main(String args[] ) throws Exception {
int i=0,size=0,j=0,flag1=0;
Scanner in = new Scanner(System.in);
System.out.println("Input Size");
if(in.hasNextLine()){
size = in.nextInt();
}
System.out.println("Input Elements");
String[] input = new String[size];
i=0;
String blank = in.nextLine();
while(i<size){
if(in.hasNextLine()) {
System.out.println("i =" i);
input[i]=in.nextLine();
i ;
}
}
i=0;
System.out.println("Input Array is");
while(i<size){
System.out.println("Input" i "= " input[i]);
i ;
}
}
}
在終端中給了我以下輸出

我似乎做錯了什么?很想知道我的錯誤是什么。
uj5u.com熱心網友回復:
放在System.out.println("i =" i);外面if。
while(i<size){
System.out.println("i =" i);
if(in.hasNextLine()) {
input[i]=in.nextLine();
i ;
}
}
此外,in.nextLine();跳過換行符就足夠了。無需存盤String blank = in.nextLine();。
掃描儀跳過nextLine()由 處理String blank = in.nextLine();,但仍然需要一個額外的空白。
原因是if(in.hasNextLine()),如果沒有輸入,它將被卡在那里并且不會列印i=0,并且我假設您有 pressenter使條件為真并列印i=0,但是enter空白的新行被視為i=0. 然后是輸入string1,即輸入i=1,依此類推。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/454239.html
上一篇:如何從Javascript中的URL獲取特定專案?[復制]
下一篇:基于字串匹配合并兩個資料集
