java设计报告十道以内加减法
用java代码写的简易计算器(可以实现基本的加减乘除功能)

⽤java代码写的简易计算器(可以实现基本的加减乘除功能)package A;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.*;public class Calcular3 extends JFrame implements ActionListener,MouseListener{private int m1=0,n=0;//private double m2=0;//运算的数private int flag=0;JFrame f;JPanel p1,p2,p3;JTextField t;JButton b1[]=new JButton[18];String b[]= {"1","2","3","4","5","6","7","8","9","0","清空","退格",".","=","+","-","*","/"};public Calcular3(){f=new JFrame("计算器");t=new JTextField(35);p1=new JPanel();p2=new JPanel();p3=new JPanel();f.setBounds(100, 100, 400, 200);f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.CENTER);f.add(p3,BorderLayout.EAST);p2.setLayout(new GridLayout(5,3));p3.setLayout(new GridLayout(4,1));p1.add(t);for(int i=0;i<14;i++) {b1[i]=new JButton(b[i]);p2.add(b1[i]);b1[i].addActionListener(this);}for(int i=14;i<18;i++) {b1[i]=new JButton(b[i]);p3.add(b1[i]);b1[i].addActionListener(this);}/*for(int i=0;i<18;i++) {b1[i].addActionListener(this);}*/f.setVisible(true);}//实现接⼝的⽅法public void mouseClicked(MouseEvent e) {}public void mousePressed(MouseEvent e) {}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void actionPerformed(ActionEvent e) {String str="";int i;for(i=0;i<=9;i++) {if(e.getSource()==b1[i]) {if(i==9) {n=n*10;}else {n=n*10+i+1;}str=String.valueOf(n);//整形n转换成字符串strt.setText(str);//显⽰到⽂本框上}}for(i=14;i<18;i++) {//+、-、*、/if(e.getSource()==b1[i]) {//匹配运算符m1=Integer.parseInt(t.getText());if(flag==15) {m2=m1+m2;}else if(flag==16) {m2=m1-m2;}else if(flag==17) {m2=m1*m2;}else if(flag==18) {m2=m1/m2;}else m2=m1;//若⽆连续的运算符运算,保存当前数据到m2 if(i==14) flag=15;else if(i==15) flag=16;else if(i==16) flag=17;else flag=18;str=String.valueOf(b[i]);t.setText(str);//显⽰到⽂本框上n=0;//还原,记录下次数据break;//找到匹配数据退出循环}}if(e.getSource()==b1[13]) {//=m1=Integer.parseInt(t.getText());if(flag==15) {m2=m2+m1;}else if(flag==16) {m2=m2-m1;}else if(flag==17) {m2=m2*m1;}else if(flag==18) {m2=m2/m1;}else m2=m1;str=String.valueOf(m2);t.setText(str);//显⽰到⽂本框上n=0;//还原,记录下次数据flag=0;//flag还原0,表明没有未处理的运算符}if(e.getSource()==b1[10]) {//各变量变为0 清空m1=0;m2=0;flag=0;n=0;t.setText("0");//显⽰到⽂本框上}if(e.getSource()==b1[11]) {//退格m1=(int)(Double.parseDouble(t.getText())/10);n=m1;str=String.valueOf(m1);t.setText(str);}if(e.getSource()==b1[12]) {//⼩数点m1=Integer.parseInt(t.getText());str=String.valueOf(m1+b[12]);t.setText(str);//显⽰到⽂本框上int j=0;for(i=0;i<=9;i++) {if(e.getSource()==b1[i]) {j++;m2=Math.pow(0.1, j)*Integer.parseInt(b[i]);str=String.valueOf(m1+m2);t.setText(str);//显⽰到⽂本框上}}}}//主函数public static void main(String[] args) {new Calcular3();}}。
小学一年级随机生成20以内的加减法-附JAVA代码

1+3 = 1+10= 2-1 = 8-3 = 7+1 = 3+5 = 4-3 = 9+6 = 6+7 = 3-1 = 9-6 = 7+5 = 8-5 = 9-7 = 7-2 = 4+8 = 7+2 = 5-3 = 4-2 = 10-1 = 7+8 = 4-1 = 6-2 = 8-4 = 3+1 = 10-5 = 6+5 = 3-2 = 6-5 = 7-5 = 3+3 = 2+7 = 6-3 = 2+6 = 8+10= 8+9 = 5-1 = 9-1 = 9-2 = 9-3 = 9-4 = 8-2 = 8-1 = 10-3 = 7-4 = 8+1 = 8-7 = 9-5 = 9+10= 7+7 = 4+4 = 8+6 = 2+9 = 9+1 = 6+3 = 6+10= 10+4 = 7-6 = 7+4 = 1+9 = 6+1 = 3+4 = 5+3 = 9-8 = 5+5 = 1+5 = 1+1 = 10-9 = 8-6 = 2+1 = 4+5 = 7+10= 5-2 = 7+9 = 5+9 =5+7 = 9+5 = 1+8 = 5+2 = 2+4 = 1+4 = 7-1 = 4+6 = 7-3 = 5+8 = 8-6 = 2+5 = 5+8 = 3-2 = 9+8 = 1+7 = 1+10= 2+9 = 5+5 = 10-2 = 9-5 = 4+10= 4-2 = 9-3 = 7-4 = 8-3 = 5+3 = 2-1 = 6+9 = 4+7 = 6+7 = 5+2 = 3-1 = 2+3 = 1+3 = 5-2 = 9-7 = 8-1 = 4+2 = 5-1 = 8+6 = 2+7 = 8-2 = 7+4 = 7-3 = 6+1 = 9-4 = 10-5 = 4+9 = 10-6 = 3+7 = 8+2 = 5+10= 6-3 = 4+4 = 1+8 = 4+8 = 10-8 = 10+8 = 9+10= 10-4 = 8-5 = 3+10= 9+9 = 5-3 = 6+5 = 7+10= 9+4 = 8+9 = 9+2 = 6-2 = 7-6 = 7+1 = 6-4 = 5-4 =10+9 = 4+5 = 5+4 = 10+10= 2+10= 8+3 = 5+6 = 3+1 = 9+1 = 6-1 = 10+6 = 3+4 = 9-6 = 8+8 = 8-7 = 1+4 = 7+9 = 10-9 = 9-1 = 6-5 = 9+7 = 8-4 = 3+6 = 10+3 = 7+3 = 1+6 = 2+1 = 7+7 = 5+7 = 7+6 = 7-3 = 4+6 = 8-5 = 7-6 = 9-3 = 9+8 = 8+3 = 2-1 = 9+4 = 10+5 = 8+4 = 3+7 = 7+2 = 5-2 = 3+10= 9-8 = 10-5 = 10-2 = 5+8 = 7-4 = 6-1 = 2+9 = 3+4 = 8-1 = 3+2 = 6-4 = 8+7 = 9+1 = 10-9 = 2+10= 7+5 = 6-5 = 5-4 = 7-1 = 8-7 = 5-1 = 6-3 = 5+9 = 9+5 = 8-2 = 9-2 = 2+8 = 1+7 = 3+5 = 9+3 = 6+4 = 9-4 = 8+10= 5+7 = 4+5 =3-2 = 1+5 = 7-2 = 1+4 = 4+1 = 10+2 = 10-1 = 2+2 = 1+1 = 8-4 = 7-5 = 4-2 = 10+3 = 9+7 = 4-1 = 5-3 = 10+4 = 4+7 = 9-1 = 4+4 = 6+1 = 9-7 = 3+6 = 8+9 = 2+1 = 2+6 = 1+10= 7+4 = 8+6 = 10-4 = 3+8 = 9+9 = 1+6 = 5+2 = 7+3 = 10-7 = 6+7 = 10+6 = 4+2 = 7+1 = 1+3 = 8+2 = 3-1 = 4+9 = 7+9 = 4+9 = 7+3 = 6+3 = 2+3 = 2+8 = 2+2 = 3+3 = 9-6 = 3+10= 8+1 = 8+8 = 9+5 = 1+4 = 8-3 = 9+1 = 2+6 = 9+2 = 10+10= 5+10= 6+10= 4+6 = 5+5 = 4+7 = 4+5 = 3-1 = 2+1 = 7-4 = 7+10= 8-5 = 4-1 = 3+5 = 10+1 = 10-8 = 2+7 = 10-9 =package com.diygw.design;import java.util.ArrayList;import java.util.List;import java.util.Random;public class Test10 {public static void main(String[] args) {Test10 test10 = new Test10();test10.generate();}public void generate(){System.out.println();Random random = new Random();List<Integer> s1 = new ArrayList<>(); //用来保存被加数或者被减数List<Integer> s2 = new ArrayList<>(); //用来保存加数或者减数List<String> label = new ArrayList<>(); //用来存储加减号List<String> all = new ArrayList<>(); //保存三者的组合避免重复while (all.size()<60){ //控制生成个数int a = (int) (Math.random()*10+1);int b = (int) (Math.random()*10+1);int c =random.nextInt(2);String d=(c==1)?"+":"-";//如果相减小于0 则重新生成随机数b=random.nextInt(a);//使减数不能够=0while (b==0&&a!=1){b=random.nextInt(a);}}}//如果相加大于10 则重新生成随机数// if ("+".equals(d)){// while (a+b>10){// a=(int) (Math.random()*10+1); // b=(int) (Math.random()*10+1); // }//// }//判断是否添加重复String temp = a+d+b;if(!"1-0".equals(temp)){ //过滤掉“1-0”if (!all.contains(temp)){s1.add(a);s2.add(b);label.add(d);all.add(temp);}}//打印结果show(s1,s2,label);}public void show(List<Integer> s1,List<Integer> s2,List<String> label){ for (int i =0;i<s1.size();i++){int a=s1.get(i);int b=s2.get(i);String flag = label.get(i);int c=("+".equals(flag))?a+b:a-b; //将结果保存在变量c中System.out.print((a<10?" ":"")+a+flag+b+(b<10?" ":"")+"=\t\t");if ((i+1)%5==0){System.out.println();}}}}。
java计算器实验报告

课程设计论文设计题目:java计算器学生姓名:指导教师:专业名称:所在院系:摘要在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。
Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。
该程序是一个图形界面的java 计算器,其界面主要采用了swing包,程序实现了:(1)实现简单加、减、乘、除的运算。
(2)实现除了加、减、乘、除按钮外其他按钮功能。
(3)给软件添加一个编辑、查看、帮助的主菜单。
(4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。
(5)科学型计算器与标准计算器之间的菜单切换。
Java的早期版本以来,抽象窗口工具包为用户界面组件提供了平台独立的API。
在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。
与此相对,Swing 组件经常被描述为轻量级的,因为它们不需要操作系统本身所带窗口工具包的原生资源来生成。
目录第1章概要设计 (1)1.1查找资料 (1)1.2选题 (1)1.3标准型计算器界面设计 (1)1.4本章小节 (3)第2章程序整体设计说明 (4)2.1程序中所用到的变量 (4)2.2程序部分源代码及注释 (4)2.3本章小节 (15)第3章程序运行效果 (16)3.1程序运行主界面 (16)3.2程序中各按钮运行界面 (16)3.3本章小节 (20)第4章设计中遇到的重点及难点 (21)4.1设计中遇到的重点 (21)4.2设计中的遇到的难点 (21)4.3本章小节 (23)第5章本次设计中存在不足与改良方案 (24)5.1本次设计中存在的不足 (24)5.2本次设计的改良方案 (24)5.3本章小节 (24)结论 (25)参考文献 (26)致谢 (27)指导教师评语 (28)答辩委员会评语 (29)第1章概要设计1.1查找资料21世纪,随着社会经济的迅速发展和科学技术的全面进步,人类社会已进入信息和网络时代。
java课程设计实验报告

j a v a课程设计实验报告 Last updated on the afternoon of January 3, 2021Java课程设计实验报告实验题目:打字游戏小程序专业:计算机科学与技术系班级:1202班成员:Java课程设计(打字游戏小程序)一、课程设计目的经过一学期的java学习,能灵活运用书中和实验中所学习的各类知识和技巧,并且能在程序开发中得以很好的运用和发挥。
在以后的学习和工作中,可以从中获取很好的经验,并且锻炼自己开发程序和创新的意识。
二、课程设计内容1.课程设计简介设计的是一个打字的小游戏,屏幕上不断地有英文字母下落,键盘输入字母,屏幕上与输入的字母形同的就会消失,并计分,如果有没有消去的字母掉到屏幕底,将扣分。
2.设计说明因为要进行键盘操作,所以引用了event包,还要注册事件监听。
字母是随机产生的,又要用。
注册了线程。
还要对窗口定义坐标,防止字母出现在同一位子。
并且通过一位数组来给随机出现的字母做坐标定义。
主要通过一位数组来控制字母的坐标,并且通过字母坐标的改变来对整个游戏的流程进行控制。
3.设计流程图4.实现功能随机产生字母,运用了键盘操作当按对屏幕中出现的字母时,该字母全部消失,并且在分数上相应的增加或减少。
5.详细设计(源代码)1)packageDownCharGame;importimportimport/***下落的字母实体类*@authorshenbf**/publicclassCharEntity{raw(g);}etY()>=480){etX((int)()*580)+30);chs[i].setY(0);chs[i].setColor(newColor((int)()*256),(int)()*256),(int)()*256)));chs[i].setCh((char)(65+(int)()*26)));}chs[i].down();}repaint();tart();}publicvoidkeyTyped(KeyEvente){}publicvoidkeyPressed(KeyEvente){}publicvoidkeyReleased(KeyEvente){etCh()||key==chs[i].getCh()+32){etY()<chs[i].getY()){maxYindex=i;}}}}etX((int)()*580)+30);chs[maxYindex].setY(0);chs[maxYindex].setCh((char)(65+(int)()*26)));}}}三、运行结果截图:四、实验总结:此程序运用了一维数组,且随机性。
Java加减乘除运算

29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
* 提供精确的减法运算。 * * @param value1 * * */ public double sub(Number value1, Number value2) { BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue ())); BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue ())); return b1.subtract(b2).doubleValue(); } /** * 提供精确的乘法运算。 * * @param value1 * * */ public Double mul(Number value1, Number value2) { BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue ())); BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue ())); return b1.multiply(b2).doubleValue(); } /** * 提供(相对)精确的除法运算,当发生除不尽的情况时, 精确到小数点以后 10 位,以 后的数字四舍五入。 * * @param dividend * * */ public Double div(Double dividend, Double divisor) { 被除数 除数 * @param divisor * @return 两个参数的商 被乘数 乘数 * @param value2 * @return 两个参数的积 被减数 减数 * @param value2 * @return 两个参数的差
java实验报告-

实验报告□实践报告□课程名称:Java语言程序设计实验、实践名称:Java语言基础、数组和字符串编程、Java面向对象程序设计、Java异常处理多线程编程、图形用户界面编程实验、实践地点:致向楼301专业班级:软件1531 学号:学生姓名:关玉芬指导教师:相洁2017 年1月8日实验一Java语言基础一、实验目的和要求(1) 通过实验,掌握Java语言程序设计的基本方法。
(2) 学会Java语言中标示符的命名、运算符和表达式的应用。
(3) 熟练地掌握Java程序流程控制语句的应用。
二、实验内容1.编写应用程序,计算100(含100)以内所有偶数的和。
2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。
编写程序,求所有的水仙花数。
3.编写一个程序,求1-100间的素数。
4. 有一函数:x (x<1)Y= 3x-2 (1≤x<10)4x (x≥10)写一程序,给定x值,输出y值。
5. 使用for循环语句,编写程序输出以下图案。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。
判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。
三、主要仪器设备使用的计算机惠普:硬件配置Win7、软件环境eclipse四、实验代码1. public class a1 {public static void main(String[] args) {int i,sum=0;for(i=0;i<=100;i++){if(i%2==0)sum+=i;}Syst}}2. public class a2 {public static void main(String[] args) {int i,a,b,c;for(i=100;i<=999;i++){a=i%10;b=(i-a)%100/10;c=(i-b*10-a)/100;if(i==a*a*a+b*b*b+c*c*c){}}}}3. public class a3 {public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=2;i<=100;i++) {boolean t = false;for(int j=2;j<i;j++){if(i%j==0){t=false;break;}else {t=true;}}4. public class a4 {public static void main(String[] args) {int i,j;for(i=1;i<=4;i++){for(j=1;j<=((-1)*i+4);j++)for(j=1;j<=(2*i-1);j++)☆");for(i=3;i>=1;i--){for(j=1;j<=((-1)*i+4);j++)for(j=1;j<=(2*i-1);j++)☆");5. import java.util.*;public class a5 {public static void main(String[] args) {Scanner x=new Scanner(System.in);int i=x.nextInt();x.close();}}6. package shiyan;public class a6 {public static void main(String[] args) {int i,j=0;for(i=1900;i<=2100;i++){if((i%4==0)&&(i%100!=0)||(i%400==0)){j++;if(j%5==0)else{五、实验结果1.2.3.4.5.6.六、讨论、心得初步掌握了Eclipse集成开发环境。
Java程序设计计算器实验报告

长江大学工程技术学院实验报告
通信 61302 胡炯
} else if (operator.equals("-")) { // 减法运算 resultNum -= getNumberFromText(); } else if (operator.equals("*")) { // 乘法运算 resultNum *= getNumberFromText(); } else if (operator.equals("sqrt")) { // 平方根运算 resultNum = Math.sqrt(resultNum); } else if (operator.equals("%")) { // 百分号运算,除以 100 resultNum = resultNum / 100; } else if (operator.equals("+/-")) { // 正数负数运算 resultNum = resultNum * (-1); } else if (operator.equals("=")) { // 赋值运算 resultNum = getNumberFromText(); } if (operateValidFlag) { // 双精度浮点数的运算 long t1; double t2; t1 = (long) resultNum; t2 = resultNum - t1; if (t2 == 0) { resultText.setText(String.valueOf(t1)); } else { resultText.setText(String.valueOf(resultNum)); } } (2)主要功能过程说明 1 构造函数 2 初始化计算器 3 处理事件 4 处理 Backspace 键被按下的事件 5 处理数字键被按下的事件 6 处理 C 键被按下的事件 7 处理运算符键被按下的事件 8 从结果文本框中获取数字 (3)功能流程图
java编写的计算器设计报告

java编写的计算器设计报告实验7:综合实验二一、试验目的进一步掌握图形用户界面GUI,了解Swing组件的使用,以及系统提供的该工具的作用,进一步掌握JAVA事件响应机制的原理,更好的掌握面向对象编程的思路。
二、实验要求创建一个界面来实现一个简单的计算器,要求:1、实现最基本的计算器界面,包括:0~9的10个数字按钮,加、减、乘、除、等于5个运算符按钮,一个结果存放的文本区域。
2、实现最基本的加、减、乘、除运算,并能得到正确结果。
3、实现连续的运算,小数点的使用,并考虑各种可能导致异常的情况,将程序作完善;4、可以通过关闭按钮实现关闭窗口。
三、实验步骤、结果1、程序代码:import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent; importjava.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingConstants;public class ZhxCacu extends JFrame implements ActionListener { JPanel jpResult = new JPanel();JPanel jpButton = new JPanel();JTextField jtfResult = new JTextField("0");JButton zero = new JButton("0"); //数字键0JButton one = new JButton("1"); //数字键1JButton two = new JButton("2"); //数字键2JButton three = new JButton("3"); //数字键3JButton four = new JButton("4"); //数字键4JButton five = new JButton("5"); //数字键5JButton six = new JButton("6"); //数字键6JButton seven = new JButton("7"); //数字键7JButton eight = new JButton("8"); //数字键8JButton nine = new JButton("9"); // 数字键9JButton plus = new JButton("+");JButton sub = new JButton("-");JButton mul = new JButton("*");JButton div = new JButton("/");JButton equal = new JButton("=");JButton ce = new JButton("ce"); // 置零键JButton point = new JButton(".");JButton tzero = new JButton("00");//com代表敲击运算符,digit代表敲击数字键boolean com = false;boolean digit = false;float total=0;String sum="";int symbol=0;int b,c=0;public ZhxCacu(){// 添加结果输入框并设置对齐方式jpResult.setLayout(new BorderLayout());jpResult.add(jtfResult);jtfResult.setEditable(false);jtfResult.setHorizontalAlignment(SwingConstants.RIGHT); //将组件添加到窗体上this.add(jpResult,"North");this.add(jpButton,"Center");// 定义按钮区域布局管理器为网格布局jpButton.setLayout(new GridLayout(6, 3, 10, 10));// 添加各个按钮键jpButton.add(seven);jpButton.add(eight);jpButton.add(nine);jpButton.add(four);jpButton.add(five);jpButton.add(six);jpButton.add(one);jpButton.add(two);jpButton.add(three);jpButton.add(zero);jpButton.add(tzero);jpButton.add(plus);jpButton.add(sub);jpButton.add(mul);jpButton.add(div);jpButton.add(point);jpButton.add(equal);jpButton.add(ce);one.addActionListener(this);//对1按钮添加监听事件two.addActionListener(this);//对2按钮添加监听事件three.addActionListener(this);//对3按钮添加监听事件four.addActionListener(this);//对4按钮添加监听事件five.addActionListener(this);//对5按钮添加监听事件six.addActionListener(this);//对6按钮添加监听事件seven.addActionListener(this);//对7按钮添加监听事件eight.addActionListener(this);//对8按钮添加监听事件nine.addActionListener(this);//对9按钮添加监听事件zero.addActionListener(this);//对0按钮添加监听事件ce.addActionListener(this);//对置零按钮添加监听事件plus.addActionListener(this);//对+按钮添加监听事件equal.addActionListener(this);//对=按钮添加监听事件sub.addActionListener(this);//对-按钮添加监听事件mul.addActionListener(this);//对*按钮添加监听事件div.addActionListener(this);//对/按钮添加监听事件tzero.addActionListener(this);//对00按钮添加监听事件point.addActionListener(this);//对.按钮添加监听事件pack();//初始化窗体大小最合适大小this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});this.setSize(300,300);this.setVisible(true);}public static void main(String[] args) {// TODO 自动生成方法存根new ZhxCacu();}public void actionPerformed(ActionEvent e) {// TODO 自动生成方法存根//数字if(e.getSource()==one){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("1");com = false;digit = true;}else{sum = jtfResult.getText()+"1"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==three){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("3");com = false;digit = true;}else{sum = jtfResult.getText()+"3"; jtfResult.setText(sum);}}else if(e.getSource()==four){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("4");com = false;digit = true;}else{sum = jtfResult.getText()+"4"; jtfResult.setText(sum);}}else if(e.getSource()==five){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("5");com = false;digit = true;}else{sum = jtfResult.getText()+"5"; jtfResult.setText(sum);}}else if(e.getSource()==six){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("6");com = false;digit = true;}else{sum = jtfResult.getText()+"6"; jtfResult.setText(sum);}}else if(e.getSource()==seven){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("7");com = false;digit = true;}else{sum = jtfResult.getText()+"7";jtfResult.setText(sum);}}else if(e.getSource()==eight){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("8");com = false;digit = true;}else{sum = jtfResult.getText()+"8"; jtfResult.setText(sum);}}else if(e.getSource()==nine){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("9");com = false;digit = true;}else{sum = jtfResult.getText()+"9"; jtfResult.setText(sum);}}else if(e.getSource()==zero){if(com||digit==false){//第一次敲击数字按jtfResult.setText("0");com = false;digit = true;}else{sum = jtfResult.getText()+"0"; jtfResult.setText(sum);if(Float.parseFloat(sum)!=0){}else{if(b==1){sum = jtfResult.getText()+"0"; jtfResult.setText(sum);}elsejtfResult.setText("0");}}}else if(e.getSource()==tzero){if(com||digit==false){//第一次敲击数字按jtfResult.setText("00");com = false;digit = true;}else{sum = jtfResult.getText()+"00";jtfResult.setText(sum);}}else if(e.getSource()==point){if(com||digit==false){//第一次敲击数字按钮b=1;com = true;digit = false;}else if(c==1); else{b=1;sum = jtfResult.getText()+".";jtfResult.setText(sum);c=1;}}//运算else if(e.getSource()==plus){symbol = 1;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==sub){symbol = 2;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==mul){symbol = 3;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==div){symbol = 4;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==ce){com = true;digit = false;total=0;sum ="0" ;jtfResult.setText(sum);}//=else if(e.getSource()==equal){com = true;digit = false;switch(symbol){case 1:jtfResult.setText(newFloat(total+Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;b reak;case 2:jtfResult.setText(newFloat(total-Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;break;case 3:jtfResult.setText(newFloat(total*Float.parseFloat(jtfResult.getText())).toString());b=0;c =0;break;case 4:if( Float.parseFloat(jtfResult.getText())==0 ){try{throw new Exception();}catch(Exception a){jtfResult.setText("错误~被除数不能为0,请重新输入:");}}elsejtfResult.setText(newFloat(total/Float.parseFloat(jtfResult.getText())).toString());b=0;c =0;break;}digit=false;total = 0;}}}2、界面:四、实验中的问题以及解决方案:1、问题: 被除数为0解决:抛出异常2、问题: 阻止0、小数点在同一数字中重复出现解决: 设置标志,五、总结:1、进一步了解了项目开发的步骤,思路,以及程序的布局和框架结构,尤其是对JAVA的模块化设计有了更为深入的了解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.设计任务书1.目的
1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;
2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力。
提高适应实际,实践编程的能力;3)培养在项目开发中团队合作精神、创新意识及能力。
2.要求
3.本人任务:
和团队配合完成了主体代码的设计。
我并对代码做了修改,对代码加入验证部分,防止超过百以内的运算出现。
三.程序功能简介
利用字符界面实现了由程序自动随机生成百以内的加减法,并判断用户输入正误,给出最终成绩!
四.主体内容
1.设计分析;
百以内加减法要求加数,被加数,减数,被减数,结果都在100以内,需要对出题结果进行控制;
利用循环,完成十次出题,判断,最终给出答案;
2.程序结构(画流程图)
3.各模块的功能及程序说明;
本次选题比较简单,没有涉及过多模块,仅对部分函数做解释说明。
for (int i=0;i<10;i++)控制循环次数,完成十次出题,判断正误;
while (f==false)控制算数范围,验证加法和小于100,减法差大于0;
a,b为百以内随机数,c随机为0(代表+)和1(代表-),d为运算结果,
f是对运算结果验证的布尔值,e起到正确时加一分作用,g传递d与用户输入比较。
4. 源程序;
package home;
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;///
public class Test
{
public static void main(String[] args) throws IOException
d=a+b;
if(d<100)
{
f=true;
g=d;
System.out.println(a+"+"+b+"=?" ); }
else f=false;
}
else if (c==1)
{
d=a-b;
if(d>0)
{
f=true;
g=d;
}
System.out.println("your score is"+e);
}
}
5.操作方法(流程);
打开程序后,程序自动运行,给出第一个算数运算,输入答案,程序自动判断正误,并输出判断,继续给出第二个算数运算,直到第十个判断完毕,给出最终得分。
并多次交流程序进度,使得本次试验顺利完成。
最后感谢姚老师的悉心教导,感谢小组成员的通力配合!。