51,411
社区成员
发帖
与我相关
我的任务
分享
题目如图
代码如下
试了输的几个数字 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();
}
}