Я создал этот код, который представляет собой простую игру в обморок, код проверяет, является ли пользовательский ввод символом или строкой, и он меняет символы подчеркивания в тире массива с помощью ввода пользователем.как добавить больше функциональности к моему java-коду палатина?
Мой вопрос: как добавить функциональность, чтобы сообщить пользователю, что их вход не в слове, и как поменять, если пользователь вводит, например, 2 или более последовательных буквы, которые находятся в слове?
public class question6 {
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
String secretword = "testing";
// now we need to create an array that stores characters so that we can swap them
// this is an array of characters that has the same length as the secret word
char[] dashes =new char[secretword.length()];
// now we need to add dashes to the array
for (int i=0; i<secretword.length(); i++){
dashes[i]= '_' ;
}
// now we need to start a loop that asks the user for input until all the dashes are swapped
// declaring variables for loop counter and steps
int counter = 0;
int steps =0;
// condition remains true until the counter is the same length as the secret word to make sure we swap everything
while (counter<secretword.length()){
// asking for input
System.out.print("Key in one character or your guess word: ");
String userinput = input.nextLine();
// if it is a character
if (userinput.length() == 1){
for (int i = 0; i<secretword.length(); i++){
// swapping
if (userinput.charAt(0) == secretword.charAt(i)){
dashes[i] = userinput.charAt(0);
counter ++;
}
}
}
// swapping the whole word
else if (userinput.equals(secretword)){
for (int j=0; j<secretword.length(); j++){
dashes[j]= userinput.charAt(j);
counter = secretword.length();
}
}
steps ++;
System.out.println(dashes);
}
}
}
Я думаю, что вы переоцениваете пустые строки. – xenteros
В [help] есть интересные статьи [так], как [ask] и [mcve]. Я настоятельно рекомендую их, поскольку они помогают научиться задавать хорошие вопросы. – xenteros