帮我修正下列代码import java.util.Scanner; public class TEST { public static void main(String[] args) { Scanner input =new Scanner(System.in); int number= input.nextInt(); String []arr2= getnumber(number); for (int i = 0; i < 10; i++) { if(arr2[i]!=null) System.out.println(arr2[i]); } } public static String[] getnumber(int number){ String []arr1=new String[9]; int j=0; while (true) { int i=number%10;//521 i = i % 10; String s= getname(i); arr1[j++]=s; if(i==0){ break; } } return arr1; } public static String getname(int i){ String []arr={"零","壹","贰","叁","肆","伍","陆","柒","玐","玖",}; String s=arr[i]; return s; } }
时间: 2024-02-14 10:33:06 浏览: 135
Einleser:java.util.Scanner 的示例
import java.util.Scanner;
public class TEST {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number = input.nextInt();
String[] arr2 = getnumber(number);
for (int i = 0; i < arr2.length; i++) {
if (arr2[i] != null) {
System.out.println(arr2[i]);
}
}
}
public static String[] getnumber(int number) {
String[] arr1 = new String[10]; // 数组长度应该为10
int j = 0;
while (true) {
int i = number % 10; // 取最后一位数字
String s = getname(i);
arr1[j++] = s;
number /= 10; // 去掉最后一位数字
if (number == 0) {
break;
}
}
return arr1;
}
public static String getname(int i) {
String[] arr = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; // 数组索引应该为8的是“捌”,不是“玐”
String s = arr[i];
return s;
}
}
修改说明:
1. 在输出数组元素时,应该遍历整个数组长度,而不是固定遍历10个。
2. 数组长度应该为10,因为最多只有10位数字,而原代码数组长度只有9。
3. 在循环中,应该每次取最后一位数字,而原代码取到的是倒数第二位数字。
4. 数组索引为8的是“捌”,不是“玐”。
阅读全文