Я работаю над небольшой игрой, где пользователь должен выбрать 1 из 5 символов (S, M, A, R или T) и вставить его в 5x5 2d-массив. Если пользователь вводит неверный номер или символ, программа говорит, что это недопустимый символ и не вставляет его. Это работало со всеми, кроме символов, где, если вы введете правильный символ, он по-прежнему отображается как недопустимый символ.Уникальный набор символов в массиве
import java.util.Scanner;
class program{
public static void main(String[] args){
char[][] table = new char[5][5];
table[0][0] = 'S';
table[0][1] = 'M';
table[0][2] = 'A';
table[0][3] = 'R';
table[0][4] = 'T';
table[1][1] = 'T';
table[1][2] = 'S';
table[1][3] = 'M';
table[2][2] = 'R';
table[2][4] = 'S';
table[3][1] = 'S';
table[3][2] = 'M';
table[4][2] = 'T';
table[4][3] = 'S';
int rows = 5;
int columns = 5;
for(int k = 0; k>=0; k++){
for(int i = 0; i < rows; i++){
for(int j = 0; j < columns; j++){
System.out.print(table[i][j] + " ");
}
System.out.println();
}
System.out.println("Enter a row (1-5): ");
Scanner scRow = new Scanner(System.in);
int m = scRow.nextInt();
System.out.println("Enter a column (1-5): ");
Scanner scCol = new Scanner(System.in);
int n = scCol.nextInt();
System.out.println("Enter a letter (S, M, A, R or T): ");
Scanner scChar = new Scanner(System.in);
char c = scChar.next().charAt(0);
if (m < 1 || m > 5){
System.out.println("Invalid: Enter a valid row. ");
}
if (n < 1 || n > 5){
System.out.println("Invalid: Enter a valid column. ");
}
if (c != 'S' || c != 'M' || c != 'A' || c != 'R' || c != 'T'){
System.out.println("Invalid: Enter a valid character. ");
}
table[(m-1)][(n-1)] = c;
}
}
}
Я понимаю, что что-то делать с моим, если заявление, но я не уверен, что изменить, если заявление для того, чтобы получить желаемые результаты.
Example output:
S M A R T
T S M
R S
S M
T S
Enter a row (1-5): **3**
Enter a column (1-5): **2**
Enter a letter (S, M, A, R or T): **A**
Invalid: Enter a valid character.
Другой вопрос, если кто-нибудь может мне помочь в создании торцевую заявление, в котором пользователь получает 2d-массив завершен, и он говорит Congrats, вы его получили. Для этого пользователь должен иметь S M A R и T, выровненный по 5-значной строке в любом направлении.
Спасибо, что нашли время, чтобы прочитать это!
'Создание конечной инструкции, в которой пользователь получает 2d-массив, и он говорит, что вы сделали это.' Вы не можете просто подсчитать количество раз, когда пользователь вводит действительный символ? –