for循环将整数值转换为字母

时间:2014-04-25 00:16:06

标签: java arrays parsing for-loop integer

我正在做一个家庭作业,它将字母编码和解码为int,反之亦然。第一个编码循环我工作得很好!

public static String Encode(String msg){
   String result="";
   String m = msg.toUpperCase();
    char c;
    int x;

    for (int i = 0; i<m.length(); i++){
        c = m.charAt(i);
        x = c;
        if (x == 32){
            x = 0;
        } else{
            x -= 64;
            if (x < 1 || x > 26){
                x = 99;
            }
        }
        result += String.valueOf(x) + " ";
    }
     return result;
}

它接受字符串msg并运行for循环将其转换为等效的整数。我的问题是解码。基本上,您输入的数字将在每个数字之间用逗号输入。然后我将消息放入一个数组并拆分它以删除逗号。然后我会接受并读取for循环中的每个值并显示等效的字母。这是我被困的地方。我理解逻辑。它基本上与第一个循环相反,但我似乎无法有效地编码它。这就是我所拥有的:

public static String Decode(String msg){
    String result = "";
    String m = msg;
    char c;
    int x;

    String[] nums = msg.split(",");
        for (int i = 0; i<nums.length; i++){

    String num = nums[i];
    x = Integer.parseInt(num);
    if(x <= 0 || x > 26){
           x=-1;
       }


        result += String.valueOf((char)(x + 64)) + " ";
    }

    return result;

}

我在读取nums数组的长度时遇到问题。我对其余部分没有太多运气。我知道你也必须解析整数。任何有关完成此任务的见解将不胜感激!

1 个答案:

答案 0 :(得分:0)

既然是家庭作业,我会给你下一步;希望你能从那里弄明白:)

在你的for循环中:

String num = nums[i];
x = Integer.parseInt(num);