慕课零基础第四周的练习题 写了几个小时终于写出来了!

镜花水月 2022-08-10 22:08:27

 题目如图

代码如下

试了输的几个数字 12345 ,1230 ,1000, -1234, -001, -012, -1234, -1000,0 都是符合题目要求的

好开心!!单纯表达自己的开心之情 嘻嘻

package homework;

import java.util.Scanner;

public class The_4th_week_read_Pinyin {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		System.out.print("请输入一个数字(范围[-100000,100000]):");
		int number = scan.nextInt();
		while ( ( number < - 100000 ) || ( number > 100000) )
		{
			System.out.println("输入数字的范围错误!数字范围为[-100000,100000]!");
			System.out.print("请重新输入一个数字:");
			number = scan.nextInt();
		}
		String one = "yi";
		String two = "er";
		String three = "san";
		String four = "si";
		String five = "wu";
		String six = "liu";
		String seven = "qi";
		String eight = "ba";
		String nine = "jiu";
		String zero = "ling";
		boolean mark = false;
		int count_number = 0;
		int count_opposite = 0;
		int number_remainder = 0;
		int remainder = 0;
		int loop = 0;
		int out_put = 0;
		int count_time = 0;
		
		if ( number < 0 )
		{
			mark = true;
		}
		
		if ( mark == true)
		{
			number = ( -1 ) * number;
		}
		
		if ( number == 0)
		{
			System.out.print(zero);
		}
		else
		{
//			
//			让数字倒过来
			while ( number != 0 )
			{
				remainder = remainder * 10 + ( number % 10 );
				number = number / 10;
				count_number += 1;
			}
//			备份
			number_remainder = remainder;
			
//			计算倒过来的数字的位数
			while ( remainder != 0 )
			{
				remainder = remainder / 10;
				count_opposite += 1;
			}
			
			
			if ( count_number != count_opposite)
			{
				loop = count_number - count_opposite;
			}
			
			if ( mark == true )
			{
				System.out.print("fu ");
			}
			
			while ( number_remainder != 0)
			{	

				count_time += 1;
				out_put = number_remainder % 10;
				number_remainder = number_remainder / 10;
				if ( count_time < count_number)
				{
					switch ( out_put )
					{
					case 1:
						System.out.print(one + " ");
						break;
						
					case 2:
						System.out.print(two + " ");
						break;

					case 3:
						System.out.print(three + " ");
						break;

					case 4:
						System.out.print(four + " ");
						break;

					case 5:
						System.out.print(five + " ");
						break;

					case 6:
						System.out.print(six + " ");
						break;

					case 7:
						System.out.print(seven + " ");
						break;

					case 8:
						System.out.print(eight + " ");
						break;

					case 9:
						System.out.print(nine + " ");
						break;

					case 0:
						System.out.print(zero + " ");
						break;

						}
				}
				else
				{
					switch ( out_put )
					{
					case 1:
						System.out.print(one);
						break;

					case 2:
						System.out.print(two);
						break;

					case 3:
						System.out.print(three);
						break;

					case 4:
						System.out.print(four);
						break;

					case 5:
						System.out.print(five);
						break;

					case 6:
						System.out.print(six);
						break;

					case 7:
						System.out.print(seven);
						break;

					case 8:
						System.out.print(eight);
						break;

					case 9:
						System.out.print(nine);
						break;

					case 0:
						System.out.print(zero);
						break;

						}
				}
				

			}
			while ( loop != 0 )
			{
				loop -= 1;
				if ( loop > 0)
				{
					System.out.print( zero + " ");
				}
				else
				{
					System.out.print( zero );
				}
			}
		}

		
		scan.close();
		
	}

}

 

...全文
163 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧