package cn.edu.nmu.calculator; import java.util.Scanner; class function{ double x,y; String x1; void S10T2(double x){ //十进制转换成二进制 String s1 = Integer.toBinaryString((int)x); System.out.println("二进制结果为"+s1); } void S10T8(double x){ //十进制转换成八进制 String s1 = Integer.toOctalString((int)x); System.out.println("八进制结果为"+s1); } void S10T16(double x){ //十进制转换成十六进制 String s1 = Integer.toHexString((int)x); System.out.println("十六进制结果为"+s1); } void S2T10(double x){ //二进制转换成十进制 String s1 = Integer.valueOf(String.valueOf((int)x),2).toString(); System.out.println("二进制转换成十进制为"+s1); } void S8T10(double x){ //八进制转换成十进制 String s1 = Integer.valueOf(String.valueOf((int)x),8).toString(); System.out.println("八进制转换成十进制"+s1); } void S16T10(String x1){ //十六进制转换成十进制 String s1 = Integer.valueOf(x1,16).toString(); System.out.println("十六进制转换成十进制"+s1); } void add(double x,double y){ System.out.println(x+"+"+y+"="+(x+y)); } void sub(double x,double y){ System.out.println(x+"-"+y+"="+(x-y)); } void mul(double x,double y){ System.out.println(x+"*"+y+"="+(x*y)); } void div(double x,double y){ System.out.println(x+"/"+y+"="+(x/y)); } void rem(double x,double y){ System.out.println(x+"%"+y+"="+(x%y)); } void mainMenu(){ System.out.println("欢迎使用科学计算器"); System.out.println("请选择操作:"); System.out.println(" 0:退出计算器"); System.out.println(" 1.加法运算"); System.out.println(" 2.减法运算"); System.out.println(" 3.乘法运算"); System.out.println(" 4.除法运算"); System.out.println(" 5.取余运算"); System.out.println(" 6.十进制转换成二进制"); System.out.println(" 7.十进制转换成八进制"); System.out.println(" 8.十进制转换成十六进制"); System.out.println(" 9.二进制转换成十进制"); System.out.println("10.八进制转换成十进制"); System.out.println("11.十六进制转换成十进制"); System.out.println("result will stop 3s"); } } public class Calculator { public static void main(String[] args) { Scanner sc1 = new Scanner(System.in); Scanner sc2 = new Scanner(System.in); Scanner sc3 = new Scanner(System.in); Scanner sc4 = new Scanner(System.in); double x,y; int choice; String x1; boolean flag = true; function fun = new function(); while(flag) { fun.mainMenu(); System.out.println("请选择操作:"); choice = sc3.nextInt(); switch(choice) { case 0: System.out.printf("\n谢谢使用,将退出程序!@_@\n"); flag = false; break; case 1: System.out.print("请输入需要被加数:"); x = sc1.nextDouble(); System.out.print("请输入需要加数:"); y = sc2.nextDouble(); fun.add(x,y); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 2: System.out.print("请输入需要被减数:"); x = sc1.nextDouble(); System.out.print("请输入需要减数:"); y = sc2.nextDouble(); fun.sub(x,y); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 3: System.out.print("请输入需要被乘数:"); x = sc1.nextDouble(); System.out.print("请输入需要乘数:"); y = sc2.nextDouble(); fun.mul(x,y); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 4: System.out.print("请输入需要被除数:"); x = sc1.nextDouble(); System.out.print("请输入需要除数:"); y = sc2.nextDouble(); fun.div(x,y); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 5: System.out.print("请输入需要被除数:"); x = sc1.nextDouble(); System.out.print("请输入需要除数:"); y = sc2.nextDouble(); fun.rem(x,y); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 6: System.out.print("请输入被转换数:"); x = sc1.nextDouble(); fun.S10T2(x); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 7: System.out.print("请输入被转换数:"); x = sc1.nextDouble(); fun.S10T8(x); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 8: System.out.print("请输入被转换数:"); x = sc1.nextDouble(); fun.S10T16(x); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 9: System.out.print("请输入被转换数:"); x = sc1.nextDouble(); fun.S2T10(x); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 10: System.out.print("请输入被转换数:"); x = sc1.nextDouble(); fun.S8T10(x); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; case 11: System.out.print("请输入被转换数:"); x1 = sc4.next(); fun.S16T10(x1); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; default: System.out.printf("\n输入的序号有误,请重新输入!\n\n"); try { Thread.sleep ( 3000 ) ; } catch (InterruptedException ie){} break; } } } }
更多推荐
JAVA综合编程作业:使用JAVA编写一个计算器,要求具有菜单栏,具有进制转换功能。
发布评论