作者: 13411939415 时间: 2016-9-11 09:33
这道题略坑,没有太直接的办法,加了注释,看你理解了
public class Test16 {
public static void main(String[] args) {
//long l = 101000001010L;
Scanner sc = new Scanner(System.in);
long l = Long.parseLong(sc.nextLine());
sc.close();
format(l);
}
public static void format(long l) {
ArrayList<Integer> list = new ArrayList<>(); //创建集合,接收传入数据拆分成若干个四位数
while(l > 0) {
int num = (int) (l % 10000);
list.add(num);
l /= 10000;
}
StringBuilder sb = new StringBuilder(); //用来存储最终转换的结果
for(int i = 0; i < list.size(); i++) {
StringBuilder sb1 = new StringBuilder(); //用来存储每个四位数转换的结果
if(list.get(i) != 0) { //当该四位数不为0时,调用change()方法将该数据转成对应的中文形式
int ge = list.get(i) % 10;
int shi = list.get(i) / 10 % 10;
int bai = list.get(i) / 10 / 10 % 10;
int qian = list.get(i) / 10 / 10 / 10 % 10;