【问题标题】:for loop to convert integer values into lettersfor循环将整数值转换为字母
【发布时间】:2014-04-25 00:16:05
【问题描述】:

我正在做一个家庭作业,它将字母编码和解码为 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 数组的长度时遇到问题。其余的事情我没有太多运气。我知道您也必须解析整数。任何对完成这项工作的见解将不胜感激!

【问题讨论】:

标签: java arrays parsing for-loop integer


【解决方案1】:

既然是作业,那我就给你下一步;希望你能从那里弄清楚:)

在你的 for 循环中:

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

【讨论】:

  • 太棒了!我已经用完成的解决方案更新了代码。再次感谢!
猜你喜欢
  • 2019-09-10
  • 2012-10-13
  • 2015-12-03
  • 2013-02-08
  • 1970-01-01
  • 2021-03-12
  • 2018-02-22
  • 2017-04-26
  • 2018-08-19
相关资源
最近更新 更多