package test2;
import java.util.Scanner;
public class zhuanhuan {
public static void main(String[] args) {
//把输入的钱转换
//第一步输入钱
int money;
while(true) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入金额:");
money = sc.nextInt();
if(money > 0 && money < 9999999) {
break;
}else {
System.out.println("输入错误:");
}
}
String str = "";//定义一个新变量来接受大写
//System.out.println(str);
while(true) { //123
int ge = money % 10;
String ca = getCaptialNumber(ge);
// 叁 0
str = ca + str; //好好理解这个关系 ca 和 Str 的放置位置很关键 如果反过来的话 输出的结果也是反的.
money = money / 10;
if(money == 0) {
break;
}
}
// 补 充 零
int count = 7 - str.length();
for(int i = 0; i < count; i++)
{
str = "零" + str;
}
System.out.println(str);
String[] Arr = {"佰","拾","万","仟","佰","拾","元"};
for(int i = 0 ; i<str.length() ; i++) {
char c = str.charAt(i);// charAt(i) 表示把str的字符串一个个打印出来
System.out.print(c);
System.out.print(Arr[i]);
}
}
//第二步,创建函数
public static String getCaptialNumber(int number) {
String[] arr = {"零","壹","贰","叁","锶","钨","镠","迄","捌","玖"};
String fan = arr[number];
return fan;
}
}
注意 59行 和61行 这两个输出 比较巧 先遍历输出str里面的第一个元素 然后 再输出 Arr里面的第一个佰 然后循环再重复输出str 的第二的元素 然后是Arr的第二个 元素。。。。。。这样就达到了插入元素的效果
还有 就是 第三十一行 的 str = ca + str 这个也比较巧妙 不理解的话可以一步步试试看看结果 这样印象更加深刻 。
中间有一些错别字 不要介意哈 。