在Java中填充多维数组
因此,我试图从两个字符串填充一个2D数组,如下所示
然而,当我去编译我的代码时,我得到了一个
“java:不兼容的类型:无法将char[]转换为char”
错误。我做错了什么
public static void main(String[] args) {
String alphabet = ("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
String iAlphabet = ("ZYXWVUTSRQPONMLKJIHGFEDCBA");
char alphabetArray [][] = {{alphabet.toCharArray()},{iAlphabet.toCharArray()}};
System.out.print(alphabetArray[4][4]);
}
}
(对Java来说是个新手,我在这一次只是把头撞在墙上)
# 1 楼答案
你也可以利用字母“A”-“Z”是有序的这一事实
例如:如果你想把一个数字翻译成字母表中的一个字母,你可以说:
或者如果你想让它倒退
num是你应该给出的等价索引
当然,这是假设您希望将数组设为只读,建议在执行这些操作之前进行某种验证。(验证数字为正且小于26) 如果这在你的情况下有效,那就太好了
# 2 楼答案
如果你想做一个凯撒密码:即翻译任何字符的任何偏移量,你可以做以下操作:
还要注意的是,这将自动大写字母,如果你不想发生这种情况,你可以测试它是否为大写,并使用
Character.isUpperCase
和Character.toUpperCase
和Character.toLowerCase
# 3 楼答案
您正在放置一个
char
数组,其中只需要放置char
。所以去掉大括号,简单地放一个char
数组你的代码应该是这样的
# 4 楼答案
声明数组,如下所示。记住它不是一个26 x 26的数组。它是一个2 x 26阵列
从第二页打印V
从第一页开始打印E
# 5 楼答案
我猜您希望能够在同一位置将字符从一个字符串转换为另一个字符串:
这张照片是:
ussage作为翻译的一个例子是:
其中打印: