簡體   English   中英

存儲掃描儀輸入並使用

[英]Storing Scanner Input and Using

我有一個Java程序,它逐行讀取文本文件,該行的每一部分都使用定界符:

文本文件中的數據可以像這樣:

TeamOne : TeamTwo : TeamOneScore : TeamTwoScore.

我想創建一個摘要,顯示每個團隊參加了多少場比賽,以及每個進球數。

來自文本文件的數據將可能具有同一團隊的多個實例,並且如果將更多數據添加到文本文件,則最好能夠處理創建摘要。

存儲每一行​​文本以便進行比較的最佳方法是什么?

我希望它能夠制定出如果一支球隊贏了還是了比賽,他們取得進球的總量。

當前,從文本文件中讀取每一行,並將其存儲為字符串,然后分為4個部分。 這一切都發生在while循環內,讀取下一行時,數據將丟失:

fileinput = fileread.nextLine(); 
String line = fileinput;
String[] split = line.split(":");
String hometeam = split[0].trim();
String awayteam = split[1].trim();
String home_score = split[2].trim();
String away_score = split[3].trim();

因此,僅就最后一行而言:讀取下一行時,數據將丟失<-顯而易見,因為您定義了for循環的局部變量。 因此,對於每次迭代,變量將再次初始化。 因此,這是我為您提供的解決方案:

ArrayList<String[]> matches = new ArrayList<String[]>();
// open file somewhere
while(fileread.hasNextLine())
{
    String line = fileread.nextLine();
    String[] split = line.split(":");
    String[] toAdd = new String[4]
    toAdd[0] = split[0].trim();
    toAdd[1] = split[1].trim();
    toAdd[2] = split[2].trim();
    toAdd[3] = split[3].trim();
    matches.add(toAdd);
}

現在,您有了一個ArrayList,其中每個條目都是一個大小為4的字符串數組。但是請注意,如果要計算總分,則必須將字符串轉換為int,因為match的每個屬性都是string類型(因此是一個字符串數組)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM