题目要求也写在代码上了
package testall.test1;
import java.util.Scanner;
//题目描述:金额转换
//eg:输入2135,输出零佰零拾零万贰仟壹佰叁拾伍元
public class money {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int money;
//首先判断输入金额是否正确:
while(true){
System.out.println("请输入金额:");
money=sc.nextInt();
if(money>=0&&money<=9999999){
break;
}else{
System.out.println("输入不正确,请输入正确金额");
}
}
//先把每一个数字换成对应的汉字
String result="";
while(money!=0){
int ge=money%10;
result=huan(ge) + result;
money=money/10;
}
//计算要补多少个零
int count=7-result.length();
//利用for循环补零
for (int i = 0; i < count; i++) {
result="零" + result;
}
//将单位全部插进去,再设一个字符串数组
String[] b={"佰","拾","万","仟","佰","拾","元"};
String all="";
for (int i = 0; i < 7; i++) {
char c=result.charAt(i);
all=all+c + b[i];
}
System.out.println(all);
}
//创建一个函数来和阿拉伯数字一一对应!!!!
public static String huan(int number){
String[] a={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return a[number];
}
}
总结:可以创建一个数组表与题目要求相对应
要逐步把复杂的问题简单化,按照题目要求一步步拆解