//利用java接口实现计算器,实现加减乘除的功能
import java.util.Scanner;
class Test {public static void main(String[] args) {fun i = new fun();jiafa s1 = new jiafa();jianfa s2 = new jianfa();chengfa s3 = new chengfa();chufa s4 = new chufa();System.out.println("请输入你要计算的两个数字:");Scanner scanner = new Scanner(System.in);Scanner scanner2 = new Scanner(System.in);int str = scanner.nextInt();int str2 = scanner2.nextInt();int a = str;int b = str2;System.out.println("请输入您想要计算的方式(+,-,*,/):");Scanner scanner3 = new Scanner(System.in);String zifu1 = scanner3.next();//next()不能读取空格,nextline()可以读取//在实现字符窗口的输入时,我个人更喜欢选择使用扫描器Scanner,它操作起来比较简单。// 在写作业的过程中,我发现用Scanner实现字符串的输入有两种方法,一种是next(),// 一种nextLine(),但是这两种方法究竟有什么区别呢?// 首先,next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,// next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、// Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。// 完整标记的前后是与分隔模式匹配的输入信息,// 所以next方法不能得到带空格的字符串而nextLine()方法的结束符只是Enter键,// 即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。//nextLine()自动读取了被next()去掉的Enter作为他的结束符,所以没办法给s2从键盘输入值。// 经过验证,其他的next的方法,如double nextDouble()  ,// float nextFloat() , int nextInt() 等与nextLine()连用时都存在这个问题,// 解决的办法是:在每一个 next()、nextDouble()  、 www.gzlij.com()、nextFloat()、nextInt()// 等语句之后加一个nextLine()语句,将被next()去掉的Enter结束符过滤掉
        scanner3.nextLine();while(true) {if (zifu1.equals("+")) {System.out.print("加法结果:");i.func(s1, a, b);break;} else if (zifu1.equals("-")) {System.out.print("减法结果:");i.func(s2, a, b);break;} else if (zifu1.equals("*")) {System.out.print("乘法结果:");i.func(s3, a, b);break;} else if (zifu1.equals("/")) {System.out.print("除法结果:");i.func(s4, a, b);break;}else {System.out.println("非法输入!");break;}}}
}interface Ijisuanqi {int jisuan(int a, int b);}class fun {public void func(Ijisuanqi per, int a, int b) {System.out.println(per.jisuan(a, b));}}class jiafa implements Ijisuanqi {public int jisuan(int a, int b) {return a + b;}}class jianfa implements Ijisuanqi {public int jisuan(int a, int b) {return a - b;}}class chengfa implements Ijisuanqi {public int jisuan(int a, int b) {return a * b;}}class chufa implements Ijisuanqi {public int jisuan(int a, int b) {if (b == 0) {return -1;} else {return a / b;}}}

运行结果:

转载于:https://www.cnblogs.com/hetaoyuan/p/10576874.html

Java 接口实现计算器加减乘除(字符交互界面)相关推荐

  1. java加法运算器界面_Java 接口实现计算器加减乘除(字符交互界面)

    //利用java接口实现计算器,实现加减乘除的功能 importjava.util.Scanner;classTest {public static voidmain(String[] args) { ...

  2. html交互界面怎么写,HTML5 BIOS字符交互界面模拟

    CSS 语言: CSSSCSS 确定 @-webkit-keyframes blink { 1% { opacity: 1; } 49% { opacity: 1; } 50% { opacity: ...

  3. java接口的作用是什么?

    我想,可能不止我一个人有这个疑问,所以,把它贴出来. 下面是madai和clkrst给我的回答. 在此谢谢两位. 我的问题是: java 的接口到底起什么作用? 1.从书中看到的是java程序的接口中 ...

  4. Java接口的作用和意义是什么?

    接口的定义 接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式. 人类与电脑等信息机器或人类与程序之间的 ...

  5. Java交互界面实现计算器开发设计【附函数源码】

    使用Java开发的简易计算器,包括加.减.乘.除.平方.立方.小数等运算,适合学习GUI编程实践, 目录 控件触发时集中处理函数 操作符点击后数据转换赋值函数 计算器窗口界面函数 运算符控件 数字控件 ...

  6. java实现简易计算器,实现加减乘除,括号,算式查错,

    java实现简易计算器 问题分析 一.计算机界面显示 二. 计算器计算数据处理 三. 部分源代码(该源码未加入算式查错,文件资源正在上传) 三.完整源码,加减乘除,括号,delete,算式查错 问题分 ...

  7. [ Java ] 实现两个数加减乘除的简易计算器

    [ Java ] 实现两个数加减乘除的简易计算器 新手,不足之处望大佬们海涵 感谢( *ˊᵕˋ)✩︎‧₊ 以下为代码: package com.zhong.homework;import java.u ...

  8. java文档注释加减乘除,java计算器加减乘除

    TOMCAT7.0, IE8 三.实验内容及步骤 1.创建一个 web 工程,在页面中实现加减乘除的运算操作,并实现运算结果的计算显示, 注意进行异常处理,运行效果如下图所示.... ,本章的仿 Wi ...

  9. Java实现能完成 加减乘除幂与阶乘 组合运算的计算器

    题目叙述: 有一组小学生要开始学习算术运算,需要使用计算机辅助他们检查计算结果,请帮助小同学设计一个能够完成+.-.*.\.幂运算和阶乘的计算器程序 具体要求: 由于是面向小同学的软件工具,请设计一个 ...

最新文章

  1. 顺序表-删除所有元素值为x结点(相等加一,不等前移k)
  2. 万年历插件软件测试,万年历软件测试报告
  3. 本科计算机科学与技术专业物理,中国工程物理研究院职工工学院计算机科学与技术(本科)专业介绍...
  4. oracle job 时间间隔,关于job的时间间隔的一个问题
  5. 串结构练习——字符串连接
  6. 动态开辟指定数量的线程来查找动态开辟的数组中的1000000数据中的值
  7. getpwnam学习
  8. Chrome 键盘快捷键(Mac)
  9. python将空格变成换行_Python基础之PEP8规范(代码写作规范)
  10. Lync server 2013新建持久聊天室提示用户未启用SIP
  11. c语言复杂度为o(n)的排序算法,计数排序算法——时间复杂度O(n+k)
  12. hybrid 单臂路由
  13. 怎样剪立体灯笼_懒人版立体镂空星星折纸灯笼教程
  14. CTF unserialize3
  15. H3C CAS 5.0 虚拟机备份与还原
  16. 绝地求生手游qq和微信不在一个服务器,绝地求生刺激战场微信和qq好友能一起玩吗 qq和微信服务器互通吗...
  17. 十大优质外盘炒黄金平台排名
  18. 手机qpython3 如何画图_记住这3个功能,一分钟掌握python sns作图
  19. Ubuntu下tar命令使用详解 .tar解压、.tar压缩
  20. 微信公众号开发Day01: 消息回复 英文励志语录回复实战

热门文章

  1. LeetCode-Balanced Binary Tree
  2. freetextbox文本编辑器
  3. SQL Server 数据库连接字符串的声明
  4. C++编程语言之标准化
  5. C#字符串与unicode互相转换
  6. 阿里人工智能实验室新入职两名首席科学家,年薪百万美元
  7. 计算机视觉开源库OpenCV之绘制轮廓函数cv2.drawContours()介绍
  8. JAVA四圣降临,和平精英四圣降临模式攻略
  9. java 打印map后的输出
  10. java开发后台技术_java开发后台的技术