import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class RMBUpper {
private final String []dws=new String[]{"","拾","佰","仟","萬","拾萬","佰萬","仟萬","億","拾億","佰億","仟億"};
private final String []szs=new String[]{"零","壹","貳","叁","肆","伍","陸","柒","捌","镹"};
private String qs;
private String result="";
public static void main(String[] args) {
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
String r="0";
do{
System.out.println("請輸入要轉換為大寫的十億以内的正整數:");
try {
r=in.readLine();
r=Integer.parseInt(r)+"";
} catch (IOException e) {
e.printStackTrace();
}
}
while(!(Integer.parseInt(r)>0&&Integer.parseInt(r)<1000000000));
RMBUpper rmb=new RMBUpper(r+"");
System.out.println(rmb.getUpper());
}
public String getUpper() {
// TODO 獲得輸入的大寫形式
this.com();
return this.result;
}
private void com() {
// TODO 開始計算
this.turnNumNotZero();
this.deleteTooMuchZero();
this.turnZero();
}
private void turnZero() {
// TODO 将0轉換為零
if(this.result.lastIndexOf("0")==this.result.length()-1){//處理最後是零的情況
this.result=this.result.substring(0,this.result.length()-1);
}
this.result=this.result.replaceAll("0", this.szs[0]);
}
private void deleteTooMuchZero() {
// TODO 删除多餘的零
if(this.result.indexOf("00")==-1)return;
this.result=this.result.replace("00", "0");
this.deleteTooMuchZero();
}
private void turnNumNotZero() {
// TODO 将非零數字轉換為大寫
for(int i=0;i<this.qs.length();i++){
int index=Integer.parseInt(this.qs.charAt(i)+"");
if(index!=0){
this.result+=this.szs[index]+this.dws[this.qs.length()-i-1];
}else{
this.result+="0";
}
}
}
public RMBUpper(String qs) {
this.qs = qs;
}
}