我正在做一个小项目,它是关于加密一些单词和句子。但是这个想法是在java中多次替换字符。
例如,当我用 'o' 替换像 'a' 这样的字符,然后用 'b' 替换 'o' 时,所有的 'a' 和 'o' 都变成了 'b'。
那么有没有办法阻止这种情况?我应该继续这样还是使用该ReplaceAll声明?每个之间有什么区别?
请帮忙,并感谢您的帮助代码示例:
String name = "Majd";
String res = name.replace('a','o').replace('o','b');
System.out.println(res);
Run Code Online (Sandbox Code Playgroud)
输出:
Mbjd
Run Code Online (Sandbox Code Playgroud) 在我的程序的一部分中,我放置了一个 while 循环来重复请求输入。有一个选项可以输入字母“F”并中断循环。这是我的程序:
public class Example {
public static void main(String[] args) {
int x = 0;
ArrayList Numbers = new ArrayList();
while (x==0) {
System.out.println("Type your number:");
Scanner s = new Scanner(System.in);
if (s.equals("f") || s.equals("F")) {
x = 1;
}
else if (!s.equals("f") && !s.equals("F")) {
int n = Integer.parseInt(s.next());
Numbers.add(n);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行该程序时,我输入一些数字,然后输入“F”。我看到这个错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "F"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at Example.main(Example.java:13)
Run Code Online (Sandbox Code Playgroud)
我相信字符串“F”可以通过我的else if但我不知道为什么。我该如何解决这个问题?