【发布时间】:2019-04-06 12:05:11
【问题描述】:
我正在练习一个程序,其中我将所有的“S”替换为“E”,反之亦然。有几个字符串需要完成此任务。
我已经尝试了几件事(比如使用 replace()),但我不明白出了什么问题。
int a;
Scanner s = new Scanner(System.in);
a = s.nextInt();
String[] x = new String[a];
String[] z = new String[a];
for (int i = 0; i < a; i++) {
x[i] = s.next();
}
for (int i = 0; i < a; i++) {
z[i]=x[i].replaceAll("S","A");
z[i]=x[i].replaceAll("E","S");
z[i]=x[i].replaceAll("A","E");
System.out.println(z[i]);
}
对于字符串SEES,显示的结果应该是ESSE,但答案是SEES。
【问题讨论】:
-
不确定您要做什么,但
z[i]=x[i].replaceAll("A","E")是最后一个,击败了所有的假设。 -
另请注意,只有在您的字符串中没有
A时它才能正常工作。