package 字符串; import java.util.Scanner; public class 金额转换 { public static void main(String[] args) { //把字符串数字转化为大写的数字 //把1314转换为---零佰零什零万零千零佰零什零元 //第一步 输入一个金额--把1314转换为汉字 Scanner sc =new Scanner(System.in); int money; while(true){ money=sc.nextInt(); if(money>=0&&money<=9999999){ break; }else{ System.out.println("请重新输入钱数"); } } //获取输入数字的每一位,并且给他们赋值 String result =""; while(true){ int ge = money %10; //把获得的个位数变为汉字 String num =transform(ge); //必须是这个顺序,否则会出现顺序反过来的错误 result =num +result; //个位数获取完毕后,该往商获取了,让原先的十位数变为个位数,以此类推 money =money /10; if(money==0){ break; } } System.out.println(result); //转换成功之后,我们开始添加零 System.out.println(result.length()); int count =7-result.length(); for (int i = 0; i < count; i++) { result ="零"+result; } System.out.println(result); //转换成功之后,我们可以发现 零佰零什零万零千零佰零什零元 //可以转换为 /* 零 零 零 零 零 零 零 佰 什 万 千 佰 什 元 */ //因为二者序列号一致,所以我们可以先输出上面那个,在输出下面那个 String money_count ="佰什万千佰什元"; for (int i = 0; i < money_count.length(); i++) { //获取到两个字符串的每个字符,在进行输出 char chs =result.charAt(i); System.out.print(chs); char chs1 =money_count.charAt(i); System.out.print(chs1); } } //给我一个数字,我给你他的汉字 //需要数字 public static String transform(int num){ String[] arr ={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; return arr[num]; } }
java金额转换
最新推荐文章于 2024-04-14 16:28:19 发布