繁体   English   中英

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

[英]Java - convert string of letters to a string of digits

我正在尝试学习Java,但仍处于练习状态:我必须编写一个“ decrypt()”方法,该方法可以将b.aab之类的String转换为双精度值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"},
};

我知道有一种技术可以将字符ch转换为其具有ascii值的数字,例如ch -'a'+ 1,但是我不确定如何在此处应用它。 所以我的问题是:如何将字母字符串转换为相应数字的字符串? 从那里我将使用parseDouble(); 返回字符串的两倍。 谢谢你之前。

你应该这样尝试

char ch='A';
int value=(int)ch-17;
System.out.println(value);
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);
}

}

这可以使用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,您必须跳过空字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM