把输入的数字变大写

本文提供了一个Java程序,用于将输入的数字字符串转换为其大写形式,并在处理过程中移除前导零。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求:把输入的数字变大写,数字输入不能大于8位数

package com.wansha;

public class NumberTest {
	public String formateNubmer(String str)throws Exception{
		String sum = "";
		Integer in = 0;
		try{
			in = Integer.parseInt(str);
		}catch(NumberFormatException e){
			throw new Exception("输入的不是数字");
		}
		String bitStr = "";
		boolean flag = false;
		for(int i = 0; i<str.length();i++){
			int Remainder = in%10;
			in/=10;
			if(Remainder == 0){
				if(!flag)continue;
				bitStr =changeUpperCase(Remainder);
				flag = false;
			}else{
				switch(i){
				case 0:
					bitStr = changeUpperCase(Remainder);
					flag = true;
					break;
				case 1:
					bitStr = changeUpperCase(Remainder)+"拾";
					flag = true;
					break;
				case 2:
					bitStr = changeUpperCase(Remainder)+"佰";
					flag = true;
					break;
				case 3:
					bitStr = changeUpperCase(Remainder)+"千";
					flag = true;
					break;
				case 4:
					bitStr = changeUpperCase(Remainder)+"万";
					flag = true;
					break;
				case 5:
					bitStr = changeUpperCase(Remainder)+"十万";
					flag = true;
					break;
				case 6:
					bitStr = changeUpperCase(Remainder)+"百万";
					flag = true;
					break;
				case 7:
					bitStr = changeUpperCase(Remainder)+"千万";
					flag = true;
					break;
				case 8:
					bitStr = changeUpperCase(Remainder)+"亿";
					flag = true;
					break;
				}
			}
			sum = bitStr +sum;
		}
		sum = sum.endsWith("零")?sum.substring(0,sum.indexOf("零")):sum;
		sum = sum.startsWith("零")?sum.substring(sum.indexOf("零")+1):sum;
		return sum;
	}
	public static void main(String[] args)throws Exception {
		args[0]="00000100";
		int k = Integer.parseInt(args[0]);
		if(null != args[0]){
			if(8<args[0].length())throw new Exception("输入的字符不能超过8位");
			NumberTest number = new NumberTest();
			String sum ;
			sum = number.formateNubmer(args[0]);
			System.out.println(sum);
		}
		
	}
	public String changeUpperCase(int i){
		String str = null;
		switch(i){
		case 0:
			str="零";
			break;
		case 1:
			str="壹";
			break;
		case 2:
			str="贰";
			break;
		case 3:
			str="叁";
			break;
		case 4:
			str="肆";
			break;
		case 5:
			str="伍";
			break;
		case 6:
			str="陆";
			break;
		case 7:
			str="柒";
			break;
		case 8:
			str="捌";
			break;
		case 9:
			str="玖";
			break;
		}
		return str;
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值