我希望以下程序能夠接受用戶輸入,將其存儲在陣列中,然後在用戶鍵入stop
時將其重複回去。我無法從陣列輸出中刪除空值
然而,它打印出其餘的值爲100作爲null
,這是我需要刪除。我嘗試了幾種不同的方法,但它不適合我。
這基本上就是我(從堆棧中的其他問題有幫助)這麼遠:
public static void main(String[] args) {
String[] teams = new String[100];
String str = null;
Scanner sc = new Scanner(System.in);
int count = -1;
String[] refinedArray = new String[teams.length];
for (int i = 0; i < 100; i++) {
str= sc.nextLine();
for(String s : teams) {
if(s != null) { // Skips over null values. Add "|| "".equals(s)" if you want to exclude empty strings
refinedArray[++count] = s; // Increments count and sets a value in the refined array
}
}
if(str.equals("stop")) {
Arrays.stream(teams).forEach(System.out::println);
}
teams[i] = str;
}
}
也許你可以團隊轉換到一個列表,然後截斷它像它說的https://stackoverflow.com/questions/1279476/truncate-a-list-to -a給定數量的元素 – ZeldaZach
@ZeldaZach在這種情況下不需要截斷List。它將只包含添加的元素。 –