java如何替换数组中的字符串
我正在尝试创建一个加密方案,用相应的字母替换String
中的字母
例如,在字符串“apple”中,“a”替换为“k”,以此类推。每个字母都有一个固定的对应字母
我想获取用户输入并将其存储到数组中。
然后我想在数组中循环并找到String
的每个索引。然后用相应的字母替换每个索引
这是我到目前为止编造的,但我无法让代码运行。我主要得到,error: incompatible types
我无法确定是否应该使用charAt
方法并将变量类型更改为char
import java.util.*;
public class Encrypt {
public static void main(String [] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter the String Name to encrypt:");
String inputString = input.nextLine();
String[] str = new String[inputString];
replaceString();
}
public static void replaceString() {
for(int i = 0; i < str.length(); i++) {
if(str.indexOf(i) == "a") {
str.indexOf(i) = "k";
} else if(str.indexOf(i) == "b") {
str.indexOf(i) = "n";
}
//and so on A-Z...
System.out.print(str);
}
}
}
# 1 楼答案
问题是
String.indexOf()
给出了第一次出现的索引。它不能代替绳子顺便说一句,代码中还有其他几个语法错误
如果要使用循环,请尝试以下示例:
运行代码here
正如其他人所建议的,你也可以研究^{:
运行代码here
# 2 楼答案
你在找String#replace(char oldChar, char newChar)
代码必须循环预先确定的次数,并将每个
String
存储在数组中注释
您以前声明数组的方式
这是不正确的。看看here来更多地练习数组。基本上,公式是:
# 3 楼答案
为什么要使用
String[]
?在我看来,您应该使用char[]
,下面的代码将满足您的需求:运行程序: