【发布时间】:2021-12-11 22:52:53
【问题描述】:
我被要求编写一个从 A 到 Z 的纸牌游戏程序,该程序打印用户可能想要的所需输入数量。程序需要删除,例如卡片是:1 A -> 2 B -> 3 C。如果用户输入-3 C,意味着删除3 C,程序需要输出2 A -> 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 -> 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 < 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,字符串到 char 到 int)(我认为这也不起作用)。似乎它只能读取 1 个输入,我似乎无法打印出我想要的输出。急需帮助
【问题讨论】:
-
输出应该是 1A->2B 还是 2A->2B ??
-
2 A -> 2B 因为如果用户不想删除它们,应该添加相同的卡片