Je veux que le programme suivant prenne l'entrée de l'utilisateur, stockez-le dans le tableau puis répétez-le lorsque l'utilisateur tape stop
.Je ne peux pas supprimer les valeurs nulles de la sortie du tableau
Cependant, il imprime le reste des valeurs jusqu'à 100 comme null
, c'est ce que je dois supprimer. J'ai essayé quelques méthodes différentes mais ça ne marche pas pour moi.
C'est essentiellement ce que j'ai jusqu'à présent (avec l'aide d'autres questions sur Stack):
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;
}
}
Peut-être que vous pouvez convertir les équipes à une liste, puis tronquer comme il est dit à https://stackoverflow.com/questions/1279476/truncate-a-list-to -a-given-number-of-elements – ZeldaZach
@ZeldaZach il n'est pas nécessaire de tronquer une 'List' dans ce cas. Il ne contiendra que les éléments qui ont été ajoutés. –