我想開發一個小程序,它讀取一個文本文件並將這些值存儲到列表中。該列表的格式如下:獲取java中列表元素的最後一部分
[1234 nick, 243 56475, 13 mi87ke]
我要實現什麼目標,是隻提取每個列表的元素的最後一部分。儘管我考慮過兩種不同的方法,但我仍然沒有得到正確的結果。
到目前爲止我的代碼如下:
First approach:
index = randomGenerator.nextInt(list.size());
element = list.get(index);
while (element.length() < 6 || element.length() > 8) {
index = randomGenerator.nextInt(list.size());
element = list.get(index).substring(element.lastIndexOf(" ")+1);
}
Second approach:
index = randomGenerator.nextInt(list.size());
element = list.get(index);
while (element.length() < 6 || element.length() > 8) {
index = randomGenerator.nextInt(list.size());
element = list.get(index);
String[] bits = element.split(" ");
element = bits[bits.length-1];
}
從兩種方法的輸出是相同的:
leslie02
yakumo
Buddy1
yaseen
24 19871
我注意到通過返回的第一部分,與長度< 6的元件仍印刷隨着第二。任何人都知道爲什麼會發生這種情況,如果有辦法解決這個問題?
護理來解釋你的奇while循環的目的是什麼? –
這是不是很清楚你在問什麼;您將不得不更加清楚地解釋輸入和預期輸出之間的關係。這意味着,你的答案也不是很有用。如果沒有人能理解這個問題,但沒有人會關心答案。 – GhostCat
這只是因爲我對它們的長度大於等於6且小於等於8的元素感興趣。這是我從一開始就錯誤的,因爲我在while循環之前沒有分開前兩個部分的情況下評估元素。 –