public class ScannerDemo5 { public static void main(String[] args) { //键盘录入一个金额 int money; while(true){ System.out.println("请输入一个金额:"); Scanner sc = new Scanner(System.in); money=sc.nextInt(); if(money>=0 && money<=99999){ break; }else { System.out.println("金额无效"); } } //定义一个变量用来表示前的大写 String moneystr=" "; //2.得到money里面的每一位数字 while(true){ //从右到左获取数据,因为右侧是数据的各位 int ge=money%10; money=money/10; //把转换之后的大写拼接到moneystr中 String capitalNumber = getCapitalNumber(ge); //第一次循环:伍+" " //第二次循环:叁+伍 moneystr=capitalNumber+moneystr; //如果数字上的每一位获取到了,那么money记录的就是0,此时循环结束 if(money==0){ break; } } //3.在前面补0 ,补齐7位 int count=7-moneystr.length(); for (int i = 0; i < count ; i++) { moneystr= "零"+moneystr; } System.out.println(moneystr); //4.插入单位 //定义一个数组表示单位 String[]arr={"佰","拾","万","仟","佰","拾","元"}; //遍历moneystr,依次得到数字 //然后把arr的单位插入进去 for (int i = 0; i <moneystr.length() ; i++) { char ch=moneystr.charAt(i); System.out.print(ch); System.out.print(arr[i]); } } //定义一个方法把数字变成大写的中文 public static String getCapitalNumber(int number){ String[]arr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; //返回结果 return arr[number]; } }
public class ScannerDemo5 { public static void main(String[] args) { //键盘录入一个金额 int money; while(true){ System.out.println("请输入一个金额:"); Scanner sc = new Scanner(System.in); money=sc.nextInt(); if(money>=0 && money<=99999){ break; }else { System.out.println("金额无效"); } } //定义一个变量用来表示前的大写 String moneystr=" "; //2.得到money里面的每一位数字 while(true){ //从右到左获取数据,因为右侧是数据的各位 int ge=money%10; money=money/10; //把转换之后的大写拼接到moneystr中 String capitalNumber = getCapitalNumber(ge); //第一次循环:伍+" " //第二次循环:叁+伍 moneystr=capitalNumber+moneystr; //如果数字上的每一位获取到了,那么money记录的就是0,此时循环结束 if(money==0){ break; } } //3.在前面补0 ,补齐7位 int count=7-moneystr.length(); for (int i = 0; i < count ; i++) { moneystr= "零"+moneystr; } System.out.println(moneystr); //4.插入单位 //定义一个数组表示单位 String[]arr={"佰","拾","万","仟","佰","拾","元"}; //遍历moneystr,依次得到数字 //然后把arr的单位插入进去 String result=""; for (int i = 0; i <moneystr.length() ; i++) { char ch=moneystr.charAt(i); //把大写数字和单位拼接到result当中 result=result+ch+arr[i]; } System.out.println(result); } //定义一个方法把数字变成大写的中文 public static String getCapitalNumber(int number){ String[]arr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; //返回结果 return arr[number]; } }标签:题目,Scanner,money,金额,System,sc,java,优化,public From: https://blog.csdn.net/Lele0456789/article/details/140661043