我只需要找到一種方法來驗證輸入,以便如果第一個數組輸入(hometeam)丟失,它會顯示消息「無主隊進入」。Java ArrayList - 檢查元素是否爲空
樣品輸入= 「埃弗頓:利物浦:1:1」 失蹤hometeam例如 「:利物浦:1:1」
正如你所看到的,我的嘗試是下面,我想不出如何工作這一點:
if (stats.get(i)[0] == null){
System.out.println("no home team name entered");
}
這裏是我的全碼:
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
ArrayList<String[]> stats = new ArrayList<>(); //initialize a container to hold all the stats
System.out.println("please enter match results:");
while(sc.hasNextLine())
{
String input = sc.nextLine();
String[] results = input.split(" : ");
if(results.length == 4)
{
stats.add(results);
}
else if(input.equals("stop"))
break;
else
System.out.println("Error reading input");
}//end of while
for(int i = 0; i < stats.size(); i++)
{
if (stats.get(i)[0] == null){
System.out.println("no home team name entered");
}
try{
System.out.println(stats.get(i)[0] + " " + Integer.valueOf(stats.get(i)[2]) + " : " +
Integer.valueOf(stats.get(i)[3]) + " " + stats.get(i)[1]);
}catch (Exception e) {
//do nothing with any invalid input
}
}
}
所以。你的嘗試做了什麼,它不應該做什麼?它不應該做什麼? –
它應該告訴用戶他們沒有在[0]中輸入一個值,但它只是沒有說什麼,它跳過if語句 – JHurst
'if(stats.get(i)[0] == null || stats.get(i)[0] .trim()。isEmpty()){'? - 或者添加一個'System.out'語句來測試這個值,或者用一個調試器進行簡單的運行可能會有所幫助 – MadProgrammer