我在这里遇到了循环问题,我正在编写一个脚本,该脚本将接收字符串“geij”或“abab”,并且必须将其转换为“6478”或“0101”之类的双精度值。由于二维数组,我进行了从字母到数字的转换:
String crypt = "geij";
char twoD[][] = {{'a','b','c','d','e','f','g','h','i','j'}, {'0','1','2','3','4','5','6','7','8','9'}};
首先,我将字符串传递到一个字符数组中:
char tab[] = crypt.toCharArray();
然后我使用循环将字母转换为数字:
for(int c=0;c<tab.length;c++) {
for(int z=0;z<twoD.length;z++) {
if(tab[c] == twoD[0][z]) {
tab[c] = twoD[1][z];
}
}
然后我创建一个名为“second”的新字符串实例,将数组转换为字符串
String second = new String(tab);
我把这个 String 变成了 double
double finalC = Double.parseDouble(second);
问题在于这个循环,如果字符串 crypt 是“abab”,则循环将返回 0101,因为它应该返回 0101,但是如果字符串包含来自两个数组的第一个数组中的“a”或“b”之后的任何字母 -维数组,例如字符串“geij”,程序将简单地返回“geij”。我不明白为什么这个程序没有比 b 更进一步,它开始给我一个蛋头。如果有人有想法,我将不胜感激!
以下是字符串 "abcd" 循环之后的选项卡数组内部示例:
Indice : 0 value: 0
Indice : 1 value: 1
Indice : 2 value: c
Indice : 3 value: d
慕无忌1623718
慕尼黑8549860
墨色风雨
相关分类