编写一个两个数的四则运算练习软件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写一个两个数的四则运算练习软件相关的知识,希望对你有一定的参考价值。

1. 随机产生两个<100的整数
2. 可以选择要练习的运算+,-*,/
3. 调用+,-,*,/,混合运算函数实现运算。
设计要求:
1. 不同的功能使用不同的函数实现(模块化),对每个函数的功能和调用
接口要注释清楚。对程序其它部分也进行必要的注释。
2. 对系统进行功能模块分析、画出总流程图和各模块流程图。
3. 用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功能可
以反复使用,最好使用菜单。
4. 通过命令行相应选项能直接进入某个相应菜单选项的功能模块。
5. 所有程序需调试通过。
设计结束需提交下列资料
1. 课程设计报告。报告中至少应包括:程序总的功能说明、程序各模块的
功能说明、程序设计的流程图、程序操作说明书、源程序清单。
2. 源程序和编译连接后的可执行程序文件。

参考技术A yout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class MyCalculater extends JFrame implements ActionListener

private static final long serialVersionUID = 1L;//不管他
JPanel mainpanel = new JPanel(); //主面板
JPanel centerpanel = new JPanel(); //中心面板
JTextField txt = new JTextField(""); //主显示区
StringBuffer sb1 = new StringBuffer(); //参数一
StringBuffer sb2 = new StringBuffer(); //参数二
char sign;

boolean flag = false;

JButton[] buttons = new JButton[16];

buttons[0] = new JButton("1");
buttons[1] = new JButton("2");
buttons[2] = new JButton("3");
buttons[3] = new JButton("+");
buttons[4] = new JButton("4");
buttons[5] = new JButton("5");
buttons[6] = new JButton("6");
buttons[7] = new JButton("-");
buttons[8] = new JButton("7");
buttons[9] = new JButton("8");
buttons[10] = new JButton("9");
buttons[11] = new JButton("*");
buttons[12] = new JButton("0");
buttons[13] = new JButton("c");
buttons[14] = new JButton("=");
buttons[15] = new JButton("/");


centerpanel.setLayout(new GridLayout(4,4,8,8));
for (int i = 0; i < buttons.length; i++)
centerpanel.add(buttons[i]);
buttons[i].addActionListener(this);



public MyCalculater(int x,int y)
this.setTitle("我的计算器");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setContentPane(mainpanel);
this.setResizable(false);
BorderLayout bl = new BorderLayout();
mainpanel.setLayout(bl);
mainpanel.add(txt,BorderLayout.NORTH);
mainpanel.add(centerpanel,BorderLayout.CENTER);

this.setBounds(x,y, 300, 240);
this.setVisible(true);

public static void main(String[] args)
new MyCalculater(750, 200);


@Override
public void actionPerformed(ActionEvent e)
JButton jb = (JButton)e.getSource();
char c = jb.getText().charAt(0);
switch(c)
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
addNum(c);
break;

case '+':
case '-':
case '*':
case '/':
signEvent(c);
break;

case 'c':
MyCalculater.this.dispose();
new MyCalculater(MyCalculater.this.getLocation().x,MyCalculater.this.getLocation().y);
break;

case '=':
if(!flag)this.txt.setText(sb1.toString());;
sb1 = new StringBuffer(getAnswer());
sb2 = new StringBuffer();
this.txt.setText(sb1.toString());
sign = '=';
flag = false;
break;

default: break;



private void signEvent(char c)
if(flag&&sb2.length()!=0)
sb1 = new StringBuffer(""+getAnswer());
this.txt.setText(sb1.toString());

else
flag = !flag;
this.txt.setText("");

this.sign = c;

private String getAnswer()
double a = 0;
if(sb1.length()!=0)
a = Double.parseDouble(sb1.toString());
double b = 0;
if(sb2.length()!=0)
b = Double.parseDouble(sb2.toString());
double answer = 0;
switch(sign)
case '+':
answer = a+b;
this.txt.setText("");
break;
case '-':
answer = a-b;
this.txt.setText("");
break;
case '*':
answer = a*b;
this.txt.setText("");
break;
case '/':
answer = a/b;
this.txt.setText("");
break;
default :
return null;

this.sb1 = new StringBuffer("");
this.sb2 = new StringBuffer("");
return ""+answer;

private void addNum(char c)

if(!flag)
sb1.append(c);
this.txt.setText(sb1.toString());

else
sb2.append(c);
this.txt.setText(sb2.toString());



319上机练习

1、已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序。(知识点:变量和运算符综合应用) 
技术图片
2、给定一个0~1000的整数,求各位数的和,例
如345的结果是3+4+5=12注:分解数字既可以先
除后模也可以先模后除(知识点:变量和运算符
综合应用)
import
org.omg.Messaging.SyncScopeHelper; public class a1 { public static void main(String[] args){ // TODO Auto-generated method stud int i=1234; int a=i/1000; int b=i/100%10; int c=i/10%10; int d=i%10; int sum=a+b+c+d; System.out.println("sum="+sum); } }

技术图片
3、华氏度50转成摄氏度是多少???(华氏温度和摄氏温度互相转换,从华氏度变成
摄氏度你只要减去32,乘以5再除以9就行了,将
摄氏度转成华氏度,直接乘以9,除以5,再加上
32即行)
import
org.omg.Messaging.SyncScopeHelper; public class a1 { public static void main(String[] args){ // TODO Auto-generated method stud int F=50; double C; C=(F-32)*5/9; System.out.println(C); } }

技术图片

4、给定一个任意的大写字母A~Z,转换为小写字母。 (知识点:变量和运算符)

import org.omg.Messaging.SyncScopeHelper;

public class a1 {
public static void main(String[] args){
    // TODO Auto-generated method stud
    char A=‘a‘;
    System.out.println(A);
}
}

技术图片

以上是关于编写一个两个数的四则运算练习软件的主要内容,如果未能解决你的问题,请参考以下文章

2016012075+小学四则运算练习软件项目报告

c_cpp 我们的程序使用加法运算符+来将两个数相加。编写程序使乘法运算符*,来打印两个数的积。

用Lua 编写找出两个数的最大公约数,要怎么编写

PAT-两个数的简单计算器

现代软件工程_第一周练习_第1题_万世想

7-12 两个数的简单计算器(10 分)