在Java中如何将数字转换为字母?
我想做一个程序,将数字转换成字母,从0-9转换成ABCDEFGHIK。 例如: 当n=10时,输出为BA,因为0是A是0,B是1。 这是我的密码:在Java中如何将数字转换为字母?,java,string,numbers,converters,Java,String,Numbers,Converters,我想做一个程序,将数字转换成字母,从0-9转换成ABCDEFGHIK。 例如: 当n=10时,输出为BA,因为0是A是0,B是1。 这是我的密码: String convertNumber(long n) { String result=""; String strN = Long.toString(n); for (int i=0; i < strN.length();i++){ char ch = strN.charAt(i);
String convertNumber(long n) {
String result="";
String strN = Long.toString(n);
for (int i=0; i < strN.length();i++){
char ch = strN.charAt(i);
switch(ch){
case '0':
result = "A";
case '1':
result = "B";
case '2':
result = "C";
case '3':
result = "D";
case '4':
result = "E";
case '5':
result = "F";
case '6':
result = "G";
case '7':
result = "H";
case '8':
result = "I";
case '9':
result = "K";
}
}
return result;
}
字符串编号(长n){
字符串结果=”;
字符串strN=Long.toString(n);
对于(int i=0;i
然而,结果只返回K。我哪里做错了?谢谢大家! 您可以使用这个:
static String convertNumber(int n) {
int reminder;
char[] arr = "ABCDEFGHIK".toCharArray();
int len = arr.length;
StringBuilder builder = new StringBuilder();
while (n != 0) {
reminder = (int) n % 10;
n /= 10;
builder.append(arr[(reminder % len)]);
}
return builder.toString();
}
,main
static public void main(String[] args) {
System.out.println(convertNumber(65));
System.out.println(convertNumber(78));
System.out.println(convertNumber(99));
System.out.println(convertNumber(901));
}
,输出
FG
IH
KK
BAK
您可以使用这个:
static String convertNumber(int n) {
int reminder;
char[] arr = "ABCDEFGHIK".toCharArray();
int len = arr.length;
StringBuilder builder = new StringBuilder();
while (n != 0) {
reminder = (int) n % 10;
n /= 10;
builder.append(arr[(reminder % len)]);
}
return builder.toString();
}
,main
static public void main(String[] args) {
System.out.println(convertNumber(65));
System.out.println(convertNumber(78));
System.out.println(convertNumber(99));
System.out.println(convertNumber(901));
}
,输出
FG
IH
KK
BAK
您的程序中有三个错误:
案例
不使用中断
,因此每一个案例
都将落在最后一个案例
=
而不是+=
,而不是(int i=0;i
public class Main {
public static void main(String[] args) {
System.out.println(convertNumber(10));
}
static String convertNumber(long n) {
String result = "";
String strN = Long.toString(n);
for (int i = strN.length() - 1; i >= 0; i--) {
char ch = strN.charAt(i);
switch (ch) {
case '0':
result += "A";
break;
case '1':
result += "B";
break;
case '2':
result += "C";
break;
case '3':
result += "D";
break;
case '4':
result += "E";
break;
case '5':
result += "F";
break;
case '6':
result += "G";
break;
case '7':
result += "H";
break;
case '8':
result = "I";
break;
case '9':
result = "K";
}
}
return result;
}
}
输出:
AB
您的程序中有三个错误:
案例
不使用中断
,因此每一个案例
都将落在最后一个案例
=
而不是+=
,而不是(int i=0;i
public class Main {
public static void main(String[] args) {
System.out.println(convertNumber(10));
}
static String convertNumber(long n) {
String result = "";
String strN = Long.toString(n);
for (int i = strN.length() - 1; i >= 0; i--) {
char ch = strN.charAt(i);
switch (ch) {
case '0':
result += "A";
break;
case '1':
result += "B";
break;
case '2':
result += "C";
break;
case '3':
result += "D";
break;
case '4':
result += "E";
break;
case '5':
result += "F";
break;
case '6':
result += "G";
break;
case '7':
result += "H";
break;
case '8':
result = "I";
break;
case '9':
result = "K";
}
}
return result;
}
}
输出:
AB
你忘了休息。添加
break代码>在任何情况下,如下所示:
案例“0”:
结果=“A”;
打破
案例“1”:
结果=“B”;
中断代码>你忘了休息。添加break代码>在任何情况下,如下所示:
案例“0”:
结果=“A”;
打破
案例“1”:
结果=“B”;
中断代码>这是否回答了您的问题?你需要在每一个案例之后打破,否则你将“失败”到下一个案例。在您的swtich中,没有中断,因此它将始终进入最后一个案例。应该10
是AB
还是BA
?@sc0der哦,是的,对不起。我的错就在那里!好的,检查我的回答这个回答了你的问题吗?你需要在每一个案例之后打破,否则你将“失败”到下一个案例。在您的swtich中,没有中断,因此它将始终进入最后一个案例。应该10
是AB
还是BA
?@sc0der哦,是的,对不起。我的错就在那里!好的,检查我的答案谢谢你的帮助!我会有时间检查我的代码xD Luv uYou是受欢迎的:)事实上,我只是在你的代码检查。似乎6,7,8,9的字母是错误的。因为你在帖子中提到,ABCDEFJIK
中的字符我已经更新到了ABCDEFGHIK
哦,这是我的错,哦,mb…谢谢你的帮助!我会有时间检查我的代码xD Luv uYou是受欢迎的:)事实上,我只是在你的代码检查。似乎6,7,8,9的字母是错误的。因为你在帖子中提到,ABCDEFJIK
中的字符我已经更新到了ABCDEFGHIK
哦,这是我的错,哎呀,mb……太感谢你了!天哪,太谢谢你了!