【发布时间】:2015-12-25 06:01:14
【问题描述】:
我正在尝试创建一个加密方案,将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);
}
}
}
【问题讨论】:
-
str.indexOf(i)返回int,而不是String,您可以使用str.charAt,它将返回char,这可能更实用。==不是你在 Java 中比较Strings 的方式 -
您不能将字符串传递给 []。
标签: java arrays string loops indexof