实现简单的整数的相加减,不支持括号。

支持各种大数。

Task_0.0

import java.io.*;
import java.util.*;
import java.math.*;
import java.applet.*;
import java.awt.*;
import java.awt.List;public class yyj extends Applet {private Font f;private String letter;private boolean first;private boolean second;private char preOp;private int xpos, ypos, cnt;public void init() {f = new Font("Courier", Font.BOLD, 72);first = true;second = false;preOp = '+';letter = "";}public void paint(Graphics g) {g.setFont(f);if (!first) {g.drawString(letter, 70, 350);}}// when a key is pushed down, this function will work// key is the number of the key on the keyboardpublic boolean keyDown(Event e, int key) {first = false;if ((char) (key) == '=') {letter += "=" + Deal(letter);System.out.println(letter);repaint();second = true;} else {if (second)letter = "";second = false;letter += String.valueOf((char) key);repaint();}return true;}// return the value calculated by the string spublic String Deal(String s) {BigInteger ans = BigInteger.ZERO;int len = s.length();BigInteger tmp = BigInteger.ZERO;for (int i = 0; i < len; i++) {char Cur = s.charAt(i);if (Cur >= '0' && Cur <= '9') {tmp = (tmp.multiply(BigInteger.valueOf(10)));tmp = tmp.add(BigInteger.valueOf(Cur - '0'));// a-'0';} else if (Cur == '+' || Cur == '-') {ans = DealNum(ans, tmp, preOp);preOp = Cur;tmp = BigInteger.ZERO;} else if (Cur == '=')break;}ans = DealNum(ans, tmp, preOp);preOp = '+';return String.valueOf(ans);}// do operation ,add or subtractpublic BigInteger DealNum(BigInteger a, BigInteger b, char c) {BigInteger ans = BigInteger.ZERO;if (c == '+')ans = a.add(b);else if (c == '-')ans = a.subtract(b);return ans;}
}

TaskOne YYJ学java相关推荐

  1. 模具和java哪个好_93年,本科毕业一年(模具专业),想学Java转行怎么样?

    谢邀. 行. 首先,楼主本科学历,可以认为学习能力是足够的 其次,刚毕业一年,职业生涯是最具弹性的阶段,完全可以有更多的可能. 楼主既然有了明确的转行Java开发,那应该是对Java的行情有过了解的吧 ...

  2. JAVE EE 企业级开发之从零开始学JAVA【51CTO技术论坛】

    http://bbs.51cto.com JAVE EE 企业级开发之从零开始学JAVA         从零开始学JAVA?YES!本刊内容全部为午饭redking整理.撰写,所涉及内容均为原创,非 ...

  3. [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](1)

    MIS信息管理系统实战开发之使用MySQL实现保存 开发背景 ID.姓名.年龄为公共信息,而学生有成绩,工人有工资 定义一个抽象类Person(ID.姓名.年龄),学生是其子类,有成绩,工人是其子类有 ...

  4. 学java培训开发需要多少钱

    学java培训开发需要多少钱?这个问题对于想要学习java技术的小伙伴们来说是非常重要的,如今市面上的java培训机构非常多,收费标准都是多少呢?那么来看看下面的详细介绍吧. 学java培训开发需要多 ...

  5. 零基础学java培训怎么选择学校

    java技术在互联网行业的快速发展,引起了很多人的关注,大家都想通过学习java技术来加入到这个行业,那么零基础学java培训怎么选择学校呢?如今市面上的java培训机构这么多,下面小编就来为大家详细 ...

  6. 学java是不是必须要参加java培训班?

    学java是不是必须要参加java培训班?java技术对于零基础的同学来说学习起来是比较困难的,所以对于这个问题,小编的回答是当然要参加java培训班进行系统学习,下面来看看到底有没有必要报班学习? ...

  7. 学Java技术,这些问题要避免

    参加java培训学习java技术不是一朝一夕就能学会的事情,在学习的过程中还要注意学习方式,有一些错误是要避免的,下面我们就为大家详细的介绍一下学java技术要避免哪些问题? Java培训分享:学Ja ...

  8. 零基础学Java需要做哪些准备

    想要成为一名合格的java工程师,那么好好学习java技术是非常重要的,对于零基础同学们来说,大家比较关注的就是"零基础学Java需要做哪些准备"这个问题,下面小编就来为大家做下详 ...

  9. 零基础学Java大数据难不难

    java大数据如今在企业中用到的次数是非常多的,很多人都比较看好java技术,那么零基础学Java大数据难不难?想要学习java技术说难不难,说简单也不是很简单,来看看下面的详细介绍就知道了. 零基础 ...

最新文章

  1. Spring-引用Bean的属性值
  2. 哈尔滨学院 计算机等级考试证书,2018年9月黑龙江哈尔滨学院计算机等级考试证书领取通知...
  3. 支付宝APP支付 统一下单 php服务端 tp5
  4. 刚接触电子时,有过哪些百思不得其解的问题?
  5. php连接mysql执行sql语句_php+mysql 连接服务器、数据库以及执行SQL语句的类库
  6. python安装-Python uWSGI 安装配置
  7. mvc+EF实现简单的登陆功能
  8. python3短信接口
  9. QQ一键加群android代码,PC和移动端一键添加和打开QQ群代码分析
  10. word论文格式调整
  11. pycharm文件名颜色含义
  12. Dummy Sample
  13. QT概念详解及开发入门简介
  14. KVM安装+vlan配置(超详细)
  15. python 涨停统计_Python采集选股宝涨停信息
  16. Android初级基础知识复习(十八) —— 自定义通知栏
  17. 孕妈妈春季饮食有哪些忌讳 孕妈妈春天不适合吃的东西
  18. Vue+ .netcore3.1 模拟QQ邮箱发送验证码
  19. 利用Excel自带的数据分析工具进行回归分析
  20. ACL 2021 Question Answering

热门文章

  1. SpringBoot快速入门(IDEA联网版)
  2. Leetcode.312 戳气球
  3. 【GIS前沿】周成虎院士:GIS的大数据时代展望(PPT分享)
  4. bash shell sleep_如何使用Linux Sleep命令暂停Bash脚本
  5. Android MediaProjection学习(二)之和MediaRecorder实现录屏
  6. iptables简介
  7. 10111001的曼彻斯特编码_一种多人并行智能识别防碰撞算法
  8. android o miui特性,小米Note 3手机迎来MIUI 10 Android O开发版内测
  9. 有账号密码的ftp服务器如何访问权限,局域网ftp服务器怎么访问权限
  10. python加解密详解