----------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流-----------------
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 将键盘输入的值赋值给string
string = scanner.next();
// Print();
for (int i = 0; i < string.length(); i++) {
switch (string.charAt(i)) {
case '1':
string = string.replace(string.charAt(i), '一');
break;
case '2':
string = string.replace(string.charAt(i), '二');
break;
case '3':
string = string.replace(string.charAt(i), '三');
break;
case '4':
string = string.replace(string.charAt(i), '四');
default://如果输入连续的字符,就会打印相同个数的“无”。如11,打印无无
string = string.replace(string.charAt(i), '无');
}
}
System.out.println(string);
}
已找到问题所在:String类中的replace方法会遍历字符串,然后将old字符替换为new字符,应该这样写:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 将键盘输入的值赋值给string
string = scanner.next();
// Print();
String[]ch={"零","一","二","三","四","五","六","七","八","九"};
for (int i = 0; i < 10; i++) {
string = string.replace(string.valueOf(i),ch[i]);
}
System.out.println(string);
}
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net