这是我将字符转换为数字的简单代码(因为那时我将不得不进行冒泡排序。)我想返回一个整数,它是我字符的Ascii的组合。 例如,如果我有一个类似" b78"的字符串。我的方法" ascii"应该做这样的事情:
'b' = 98, '7' = 55, '8'= 56
但我希望将其作为一个整数返回:985556
。我想只返回一个整数,不是数组,int []。我该怎么做才能做到这一点?
public class Example{
public static int ascii(String s){
for(int i=0 ; i < s.length() ; i++){
char c = s.charAt(i);
int j= (int)c;
}
// I don,t know what I have to return
}
public static void main(String[] args){
String[] str = {"b78","c&3","a00","a01","zz9"};
String q = str[0];
int c = ascii(q);
System.out.print(c);
}
}
答案 0 :(得分:0)
根据您提供的示例,我认为您需要类似
的内容public static int ascii(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
sb.append(Integer.toString(c));
}
return Integer.parseInt(sb.toString());
}
public static void main(String[] args) {
String[] str = { "b78", "c&3", "a00", "a01", "zz9" };
for (String q : str) {
int c = ascii(q);
System.out.printf("%s %d%n", q, c);
}
}
输出
b78 985556
c&3 993851
a00 974848
a01 974849
zz9 12212257
答案 1 :(得分:0)
我不明白你为什么尝试这个,但我认为你可以使用字符串连接的+运算符。将每个字符转换为ASCII并使用Integer.toString()将此整数转换为字符串。然后用+运算符连接它们,并再次使用Integer.parseInt(String str)方法再次转换结果。我想你可以得到你想要的结果。