/ / sto cercando di inserire String fino a quando non viene inserito “stop”, “Stop”, “exit” o “Exit” - java, string

Sto cercando di inserire String fino a "stop", "Stop", "esci" o "Esci" è inserito - java, stringa

sto creando un programma per l'informaticasto prendendo la classe in cui l'utente può inserire stringhe (quante ne vorrebbe) fino a quando non vengono inserite le parole "stop", "Stop", "exit" o "Exit". Inoltre, quando si inserisce una di queste parole, il programma deve inserire l'int memorizzato nella variabile "wordcount" in modo che possa essere stampato sulla console
mostrando all'utente il numero di parole che ha inserito, NON includendo la parola usata per fermare il programma. sono nuovo nel codice e non ho idea di come farlo. ecco il mio tentativo fallito:

package repeatWords;

import java.util.Scanner;

public class RepeatWords {
public static void main(String[] args)
{
System.out.println("Enter words, type (stop or exit) to stop:");
System.out.println();

Scanner keyboard = new Scanner(System.in);
String word = keyboard.nextLine();
int wordcount = 0;

while(!(word.equals("exit")))
{
wordcount++;
}

System.out.println("you enetered " + wordcount + "words.");
}
}

risposte:

2 per risposta № 1

Se hai solo il permesso di utilizzare ciò che hai fornito:

System.out.println("Enter words, type (stop or exit) to stop:");
System.out.println();

Scanner keyboard = new Scanner(System.in);
String word = keyboard.nextLine();
int wordcount = 0;

while(!(word.equalsIgnoreCase("exit") || !word.equalsIgnoreCase("stop"))) {
word = keyboard.nextLine();
wordcount++;
}

System.out.println("you enetered " + wordcount + " word(s).");

Il problema è che sei rimasto bloccato in un ciclo infinito perché non hai mai controllato while condizione dell'input aggiornato di word dallo scanner. In questo modo, aumenterà ogni volta che l'utente inserisce una nuova parola, quindi controlla se l'utente ha digitato una parola che consente al ciclo di uscire.

equalsIgnoreCase() prenderà il valore String e ignorerà semplicemente la distinzione tra maiuscole e minuscole del suo valore. Ciò ridurrà i tuoi controlli da 4 a 2.