[英]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.