JAVA — Как я могу распечатать желаемый результат карточной игры?

#java #iteration

Вопрос:

Меня просят написать программу для карточных игр от А до Я, которая печатает желаемое количество вводимых данных, которое может потребоваться пользователю. Программе необходимо удалить, например, карты: 1 A -gt; 2 B -gt;gt; 3 C. если пользователь вводит -3 C, что означает удаление 3 C, программе необходимо вывести 2 A -gt;gt;gt; 2 B.

 SAMPLE INPUT Cards to play: 5  1 A 2 B  3 C  1 A -3 C  Output 1 A  2 B  3 C 1 A -3 C  cards left:  2 A -gt; 2 B  

это то, что я делал до сих пор:

 Scanner sc = new Scanner(System.in);  System.out.print("Input card: ");  String[] string = new String [sc.nextInt()];  sc.nextLine(); for (int i = 0; i lt; string.length; i  )  {   string[i] = sc.nextLine();   String[] splitString = string[i].split(" ");   String part1 = string[0];  String part2 = string[1];  int X = Integer.parseInt(part1);  char y = part2.charAt(0);  int Y = y - 'A';  string[Y]  = X; } System.out.println("Cards left: "); for(String str: string)  {   System.out.println(str   " " i   'A'); }  

Я думаю, что мне нужно получить значение индекса 0, чтобы это было преобразование (строка в int, строка в символ в int) (которое, я думаю, также не работает). и кажется, что он может считывать только 1 вход, и я, похоже, не могу распечатать желаемый вывод, который я хочу. Очень нужна помощь

Комментарии:

1. выход должен быть 1A-gt;2B или 2A-gt;gt;2B ??

2. 2 A -gt; 2B, потому что те же карты должны быть добавлены, если пользователь не хочет их удалять

Ответ №1:

Мне кажется, что вы путаетесь между разными объектами.

Вы должны сделать :

 String[] splitString = string[i].split(" ");  String part1 = splitString[0]; String part2 = splitString[1];  

Профессиональные советы : Используйте имена переменных, которые что-то значат, чтобы предотвратить подобные ошибки в будущем.