Return 一个整数中的多个数字
Return multiple numbers in one integer
这是我将字符转换为数字的简单代码(因为那时我将不得不进行冒泡排序。)我想 return 一个整数,它是我的字符的 Ascii 组合。
例如,如果我有一个像 "b78" 这样的字符串,我的方法 "ascii" 应该做这样的事情:
'b' = 98, '7' = 55, '8'= 56
但我想return它作为一个整数:985556
。我想return只是一个整数,不是数组,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);
}
}
根据你给出的例子,我想你想要的是
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
我不明白你为什么要这样做,但我认为你可以使用字符串连接的 + 运算符。使用 Integer.toString() 将每个字符转换为其 ASCII 并将此整数转换为字符串。然后用 + 运算符连接它们,并再次使用 Integer.parseInt(String str) 方法再次转换结果。我想你可以得到你想要的结果。
这是我将字符转换为数字的简单代码(因为那时我将不得不进行冒泡排序。)我想 return 一个整数,它是我的字符的 Ascii 组合。 例如,如果我有一个像 "b78" 这样的字符串,我的方法 "ascii" 应该做这样的事情:
'b' = 98, '7' = 55, '8'= 56
但我想return它作为一个整数:985556
。我想return只是一个整数,不是数组,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);
}
}
根据你给出的例子,我想你想要的是
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
我不明白你为什么要这样做,但我认为你可以使用字符串连接的 + 运算符。使用 Integer.toString() 将每个字符转换为其 ASCII 并将此整数转换为字符串。然后用 + 运算符连接它们,并再次使用 Integer.parseInt(String str) 方法再次转换结果。我想你可以得到你想要的结果。