Java - 将字符串转换为数字字符串

时间:2014-11-05 15:11:58

标签: java string

我试图学习Java,但我仍然坚持练习:我必须写一个" decrypt()"方法,它转换像b.aab这样的String并返回double值1.001。

我还给出了二维字符数组及其代表的数字。

private static String conversionTable[][] = {
        {"a", "0"},
        {"b", "1"},
        {"c", "2"},
        {"d", "3"},
        {"e", "4"},
        {"f", "5"},
        {"g", "6"},
        {"h", "7"},
        {"i", "8"},
        {"j", "9"},
};

我知道有一种方法可以将char ch转换成具有ascii值的数字,例如ch - ' a' + 1,但我不知道如何在这里应用它。所以我的问题是:如何将字符串转换为相应数字的字符串?从那里我将使用parseDouble();返回String的两倍。谢谢你以前。

3 个答案:

答案 0 :(得分:0)

你应该尝试这样

char ch='A';
int value=(int)ch-17;
System.out.println(value);

答案 1 :(得分:0)

import java.util.Scanner;

public class Program10 {

         public static void main(String[] args) {

                System.out.println("Enter a string to decrypt");
                Scanner sc = new Scanner(System.in);
                String input = sc.nextLine();

              decrypt(input);
    }

      public static void decrypt(String input) {

          char ch;
          String str = "";
          int length = input.length();

         for(int i = 0; i < length ; i++) {

                ch = input.charAt(i);

                   if(ch != '.') {  
                     int val = (int) ch;
                    str = str + (val - 97); 
                  } else {

                     String x = "" + ch;
                     str = str.concat(x);
                }

         }
         System.out.println(str);
}

}

答案 2 :(得分:-1)

这可以解决使用Java8的问题:

public static void main(String args[]){
    String t="abcd";
    for(String s:t.split("")){
        System.out.println(s.charAt(0)-'a');
    }
}

如果全部小写,你可以利用'a' - 'a'= 0这个事实。 使用Java4-7,您必须跳过空字符。