数字与英文单词的转换
来源:互联网 发布:免费开单软件 编辑:程序博客网 时间:2024/04/30 15:14
import java.util.Scanner;//导入一个Scanner包public class Conversion {//---------------------------------------------定义变量------------------------------------------------------ static String x[]={"zero","one","two","three","four","five","six","seven","eight","nine"};static String y[]={"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};static String z[]={"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};static int b;//---------------------------------------------主方法--------------------------------------------------------- public static void main(String [] args) { Scanner scan=new Scanner(System.in); char s='y'; while(s=='y')//循环体,可反复输入数字 { System.out.println("请输入一个一百以内的英语单词或者数字"); String str=scan.nextLine();//获取一行字符串 int flag; try { b=Integer.valueOf(str);//把字符串强制转换为数字 flag=1; //如果是数字,flag=1; } catch (Exception e){ flag=2; //如果不是数字,抛出异常,且flag=2; } int i,j; switch(flag) //有两种情况 { case 1://数字转换为英语单词 int a=b; try{ //异常判断,数字是否超出范围 if(a<0||a>99) throw new Exception(); } catch(Exception ex){ //抛出异常 System.out.println("Error:数字超出范围"); System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); break; } //根据a的值进行判断以及转换 if(a>=0&&a<10){ //转换0~9的数字 System.out.println("转换后的结果是:"+x[a]); System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); break; } else if(a>9&&a<20){ //转换10~19的数字 System.out.println("转换后的结果是:"+y[a%10]); System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); break; } else if(a%10==0){ //转换20~99中10的倍数的数字 System.out.println("转换后的结果是:"+z[a/10-2]); System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); break; } else if(a>19&&a<100){ //转换20~99的非10的倍数数字 System.out.println("转换后的结果是:"+z[a/10-2]+" "+x[a%10]); System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); break; } case 2: //英语单词转换为数字 boolean flag1=true; for(i=0;i<8;i++) //转换20~99的单词 { for(j=0;j<10;j++) { String str1=z[i],str2=x[j]; if(str.equals((str1))){ //判断字符串内容是否相等 System.out.println("转换后的结果是:"+(i*10+20)); //输出20~99中是10倍数的单词数字 flag1=false; System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); break; } else if(str.equals((str1+" "+str2))){ //判断字符串内容是否相等 System.out.println("转换后的结果是:"+(i*10+j+20)); //输出20~99中非10倍数的单词数字 flag1=false; System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); break; } } } for(i=0;i<10;i++){ if(str.equals(x[i])){ //判断字符串内容是否相等 System.out.println("转换后的结果是:"+i); //输出0~9中的单词数字 flag1=false; System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); break; } else if(str.equals(y[i])){ //判断字符串内容是否相等 System.out.println("转换后的结果是:"+(10+i)); //输出10~19中的单词数字 flag1=false;System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); break; } } if(flag1) //若输入字符串不是英文数字,则输出信息提示 { System.out.println("Error:非法输入"); System.out.println("继续转换请输入'y'退出请输入任意字符"); String st=scan.nextLine(); s=st.charAt(0); } } } System.out.println("程序运行结束"); } }
阅读全文
0 0
- 数字与英文单词的转换
- C现代实现方法 数字转换为英文单词
- javascript 数字字符串与数字的转换
- 数字与中文的转换
- 字符串与数字的转换
- 字符与数字的转换
- IP与数字的转换
- 15000个英文单词Sec01.Part02数字与度量衡
- 英文单词与日文片假名的对应规则
- 获取字符串中的所有英文单词或数字的方法
- 一个把数字日期翻译成英文单词的工具类
- 字符串与数字之间的互相转换
- 字符串与数字之间的互相转换
- QString 与 数字类型的转换
- Python字符与数字的相互转换
- java 数字与字母的转换
- 字符串与数字的相互转换
- C++数字与字符串之间的转换
- Eclipse和MyEclipse的区别
- java web项目:学生考试系统(从入门到跑路)onlinexamnew:(1)环境搭配
- 编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。
- git使用总结
- Linux下yum命令详解
- 数字与英文单词的转换
- Android AIDL 传递对象(Parceable)
- 【Unity】FOV战争迷雾
- Maven之(六)setting.xml配置文件详解
- ios10中禁止Safari浏览器用户缩放页面
- xdoj ranting记
- algorithm test
- 讲给Android程序员看的前端教程(20)——float浮动
- 关于C和我