「java加法源码」java加法程序编写
本篇文章给大家谈谈java加法源码,以及java加法程序编写对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、希望做一个JAVA一百以内的加减法源代码
- 2、编写程序来执行两个数字12和5的算术加法,乘法和除法(java程序)求源代码
- 3、java 写的计算器源代码只实现加减乘除四则运算即可
- 4、急!!对一个JAVA源代码加注释~~~
- 5、编写程序来执行两个数字12和5的算术加法,乘法和除法(java程序)求源代码
希望做一个JAVA一百以内的加减法源代码
import java.util.Scanner;
public class JianJian {
public static void main(String[] args) {
System.out.println("一百以内的加减法");
System.out.println("输入-1,退出系统");
Scanner sc = new Scanner(System.in);
int score = 0;
int nums = 0;
while (true) {
int x = (int) (Math.random() * 2);//随机一个0,1的数字,当数字是1的时候,输出加法,当数字是0的时候,输出减法
int a = (int) (Math.random() * 100);
int b = (int) (Math.random() * 100);
if (x == 1) {
System.out.print(a + "+" + b + "=");
int c = sc.nextInt();
if (c == -1) {
break;
}
nums++;
if (c == (a + b)) {
score = score + 10;
}
} else {
if (a b) {// 排除a-b0的情况.保证结果都是大于0的
b = a + b;
a = b - a;
b = b - a;
}
System.out.print(a + "-" + b + "=");
int c = sc.nextInt();
if (c == -1) {
break;
}
nums++;
if (c == (a - b)) {
score = score + 10;
}
}
}
System.out.println("做了" + nums + "道题目,得分: " + score);
}
}
输出
一百以内的加减法
输入-1,退出系统
87-18=59
23-6=17
72-30=42
97+14=-1//-1表示退出系统,所以不算做一道题
做了3道题目,得分: 20
编写程序来执行两个数字12和5的算术加法,乘法和除法(java程序)求源代码
double a = 12.0;
double b = 5.0;
int addtion_result = 0;//加法计算结果
int substraction_result = 0;//减法计算结果
int multipliction_result = 0;//乘法计算结果
double divide_result = 0.0;//除法计算结果
//加法
addtion_result = (int)(a + b);
//减法
substraction_result = (int)(a - b);
//乘法
multipliction_result = (int)(a * b) ;
//除法
divide_result = a / b;
java 写的计算器源代码只实现加减乘除四则运算即可
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Vector;
public class calculator
{
String str1="0"; //运算数1 初值一定为0 为了程序的安全
String str2="0"; //运算数2
String fh="+"; //运算符
String jg="";//结果
//状态开关 重要
int k1=1;//开关1 用于选择输入方向 将要写入str2或 str2
int k2=1;//开关2 符号键 次数 k21说明进行的是2+3-9+8 这样的多符号运算
int k3=1;//开关3 str1 是否可以被清0 ==1时可以 !=1时不能被清0
int k4=1;//开关4 str2 同上
int k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉
JButton jicunqi; //寄存器 记录 是否连续按下符号键
Vector vt=new Vector(20,10);
JFrame frame=new JFrame("sunshine---计算器");
JTextField jg_TextField=new JTextField(jg,20);//20列
JButton clear_Button=new JButton("清除");
JButton button0=new JButton("0");
JButton button1=new JButton("1");
JButton button2=new JButton("2");
JButton button3=new JButton("3");
JButton button4=new JButton("4");
JButton button5=new JButton("5");
JButton button6=new JButton("6");
JButton button7=new JButton("7");
JButton button8=new JButton("8");
JButton button9=new JButton("9");
JButton button_Dian=new JButton(".");
JButton button_jia=new JButton("+");
JButton button_jian=new JButton("-");
JButton button_cheng=new JButton("*");
JButton button_chu=new JButton("/");
JButton button_dy=new JButton("=");
public static void main(String[] args)
{
calculator calculator=new calculator();
}
calculator()
{
jg_TextField.setHorizontalAlignment(JTextField.RIGHT );//文本框 右对齐
JPanel pan=new JPanel();
pan.setLayout(new GridLayout(4,4,5,5));//四行四列 边距为5像素
pan.add(button7);
pan.add(button8);
pan.add(button9);
pan.add(button_chu);
pan.add(button4);
pan.add(button5);
pan.add(button6);
pan.add(button_cheng);
pan.add(button1);
pan.add(button2);
pan.add(button3);
pan.add(button_jian);
pan.add(button0);
pan.add(button_Dian);
pan.add(button_dy);
pan.add(button_jia);
pan.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));//pan对象的边距
JPanel pan2=new JPanel();
pan2.add(jg_TextField);
JPanel pan3=new JPanel(); //为什么要 多此一句呢? 因为我不会设置 按钮的大小
pan3.setLayout(new FlowLayout());
pan3.add(clear_Button);
//clear_Button.setSize(10,10);//设置清零按钮的大小 吗的 不好使 !!
frame.setLocation(300, 200); //主窗口 出现在位置
frame.setResizable(false); //不能调大小
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(pan2,BorderLayout.NORTH);
frame.getContentPane().add(pan,BorderLayout.CENTER);
frame.getContentPane().add(pan3,BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
//以上是 控件 和 布局
//下面是事件处理 程 序
//--------------- 数 字 键 ----------------
class JianTing implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String ss=((JButton)e.getSource()).getText();
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
if (k1==1)
{
if(k3==1)
{
str1="";
k5=1;//还原开关k5状态
}
str1=str1+ss;
//k2=1;
k3=k3+1;
//System.out.println(str1);
jg_TextField.setText(str1);//显示
}
else if(k1==2)
{
if (k4==1)
{
str2="";
k5=1; //还原开关k5状态
}
str2=str2+ss;
//k2=2;
k4=k4+1;
///////////////测试////////////////
jg_TextField.setText(str2);
}
}
}
//--------符 号-----------
class JianTing_fh implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String ss2=((JButton)e.getSource()).getText();
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
if(k2==1)
{
k1=2;//开关 k1 为1时,向数1写 为2时,向数2写
k5=1;
fh=ss2;
k2=k2+1;//按符号键的次数
}
else
{
int a=vt.size();
JButton c=(JButton)vt.get(a-2); if(!(c.getText().equals("+"))!(c.getText().equals("-"))!(c.getText().equals("*"))!(c.getText().equals("/")))
{
yuns();
str1=jg;
k1=2;//开关 k1 为1时,向数1写 为2时,向数2写
k5=1;
k4=1;
fh=ss2;
} k2=k2+1;
}
}
}
//--------清除-------
class JianTing_clear implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
k5=1;
k2=1;
k1=1;
k3=1;
k4=1;
str1="0";
str2="0";
fh="";
jg="";
jg_TextField.setText(jg);
vt.clear();
}
}
//----------------等 于 ---------------------
class JianTing_dy implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
yuns();
k1=1; //还原开关k1状态
//str1=jg;
k2=1;
k3=1;//还原开关k3状态
k4=1; //还原开关k4状态
str1=jg; //为7+5=12 +5=17 这种计算做准备
}
}
//----------------小数点 ---------------------
class JianTing_xiaos implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
if(k5==1)
{
String ss2=((JButton)e.getSource()).getText();
if (k1==1)
{
if(k3==1)
{
str1="";
k5=1; //还原开关k5状态
}
str1=str1+ss2;
//k2=1;
k3=k3+1;
//System.out.println(str1);
jg_TextField.setText(str1);//显示
}
else if(k1==2)
{
if (k4==1)
{
str2="";
k5=1; //还原开关k5状态
}
str2=str2+ss2;
//k2=2;
k4=k4+1;
///////////////测试////////////////
jg_TextField.setText(str2);
}
}
k5=k5+1;
}
}
//注册 监听器
JianTing_dy jt_dy=new JianTing_dy();
JianTing jt= new JianTing();//临听数字键
JianTing_fh jt_fh= new JianTing_fh();//临 听符 号键
JianTing_clear jt_c=new JianTing_clear(); //清除键
JianTing_xiaos jt_xs=new JianTing_xiaos();// 小数点 键
button7.addActionListener(jt);
button8.addActionListener(jt);
button9.addActionListener(jt);
button_chu.addActionListener(jt_fh);
button4.addActionListener(jt);
button5.addActionListener(jt);
button6.addActionListener(jt);
button_cheng.addActionListener(jt_fh);
button1.addActionListener(jt);
button2.addActionListener(jt);
button3.addActionListener(jt);
button_jian.addActionListener(jt_fh);
button0.addActionListener(jt);
button_Dian.addActionListener(jt_xs);
button_dy.addActionListener(jt_dy);
button_jia.addActionListener(jt_fh);
clear_Button.addActionListener(jt_c);
//关闭事件处理程序
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
//---------------计 算------------------
public void yuns()
{
double a2,b2;//运算数1,2
String c=fh;// 运算符
double jg2=0 ;//结果
if (c.equals(""))
{
//System.out.println("请输入运算符");
jg_TextField.setText("请输入运算符");
}
else
{
System.out.println("str1:"+str1);//调试时 使 用
System.out.println("str2:"+str2);//调试时 使 用
System.out.println("运算符:"+fh);//调试时 使 用
if (str1.equals(".")) //字符串 "." 转换成double型数据时 会出错 所以手工转
str1="0.0";
if (str2.equals("."))
str2="0.0";
a2=Double.valueOf(str1).doubleValue();
b2=Double.valueOf(str2).doubleValue();
System.out.println("double型的a2:"+a2); //调试时 使 用
System.out.println("double型的b2:"+b2); //调试时 使 用
if (c.equals("+"))
{
jg2=a2+b2;
}
if (c.equals("-"))
{
jg2=a2-b2;
}
if (c.equals("*"))
{
jg2=a2*b2;
}
if (c.equals("/"))
{
if(b2==0)
{
jg2=0;//0000000000000 by 0 cu!
}
else
{
jg2=a2/b2;
}
}
System.out.println("double型a2"+fh+"b2结果:"+jg2);
System.out.println();
jg=((new Double(jg2)).toString());
jg_TextField.setText(jg);
}
}
}
急!!对一个JAVA源代码加注释~~~
import java.awt.*; // 导入相应的awt工具组件
import java.awt.event.*;// 导入awt工具组件的事件类
/**
* 作用:Calc类用于演示加法计算器的功能p
* @author 网络用户
* @version 1.0 2009-6-3
* @since JDK 1.5
*/
class Calc extends WindowAdapter implements ActionListener
{
//以下声明相关变量
Frame f; //窗口
// Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
Button b[] = new Button[10]; //10个按钮,分别对应数字0到9
Button be, badd, bc; //bc为=,badd为+,bc为归0按钮
TextField answer; //文本框answer用于显示相加的结果
Panel p; //面板
int t1, t2,result; //t1,t2分别表示被加数,加数
Button bmin, bmul, bdev; //bmin为-,bmul为*,bdev为/
String op1 = null,lastOP = null;
boolean isOK = true;
/**
* 作用:main方法为程序运行的入口
* @param args
*/
public static void main( String args[] )
{
Calc cg = new Calc(); //创建一个calc类的对象
cg.go(); //调用go方法,显示加法器界面,并完成加法功能
}
/**
* 作用:go()方法用于显示加法器界面,并完成加法功能
*/
public void go()
{
p = new Panel(); //创建面板的对象,10个按钮将在此面板对象上添加和显示
answer = new TextField("0", 15); //设置文本框的默认值为0,文本框的长度15个字符
b[0] = new Button("0"); //以下就是那10个按钮,按钮上的文本就是0到9的数字
b[1] = new Button("1");
b[2] = new Button("2");
b[3] = new Button("3");
b[4] = new Button("4");
b[5] = new Button("5");
b[6] = new Button("6");
b[7] = new Button("7");
b[8] = new Button("8");
b[9] = new Button("9");
be = new Button("="); //=号
badd = new Button("+"); //+号
bc = new Button("C"); //归0按钮
bmin = new Button("-"); //-号
bmul = new Button("*"); //*号
bdev = new Button("/"); //除号
p.setLayout(new GridLayout(4, 4)); //将面板设置为4行3列,即12个格子,刚好可以存放地10个数字按钮另加+号按钮和=号按钮,共12个按钮
p.add(b[1]);
p.add(b[2]);
p.add(b[3]);
p.add(b[4]);
p.add(b[5]);
p.add(b[6]);
p.add(b[7]); //添加10个数字按钮到面板上
p.add(b[8]);
p.add(b[9]);
p.add(b[0]);
for( int i = 0; i b.length; i++ )
b[i].addActionListener(this); //为10个数字按钮添加事件监听器,以用于实现加法功能
p.add(be); //添加=号按钮到面板上
p.add(bc); //归0按钮
p.add(badd); //添加+号按钮到面板上
be.addActionListener(this); //为=号按钮添加事件监听器,用于实现加法功能
bc.addActionListener(this); //为归0按钮添加事件监听器,用于将计算结果归0
badd.addActionListener(this); //为+号按钮添加事件监听器,用于实现加法功能
p.add(bmin); //-号
p.add(bmul); //*号
p.add(bdev); //除号
bmin.addActionListener(this);
bmul.addActionListener(this);
bdev.addActionListener(this);
f = new Frame("计算器"); //创建一个Frame对象(窗口),窗口的标题就是calc
f.setLocation(300, 300); //窗口的弹出位置
f.setSize(300, 300); //窗口的大小为300*300像素
f.add(answer, "North"); //将文本框设置在窗口的北部(上),窗口的默认布局为BorderLayout,即东西南北中5个位置
f.add(p, "Center"); //将面板设置在窗口的中部(中)
f.addWindowListener(this); //为窗口添加事件监听器,用于实现关闭窗口的功能
f.pack(); //此方法用于窗口到合适的大小
f.setVisible(true); //显示窗口,为false时将不会显示窗口
}
//在10个数字按钮和3个功能按钮上单击,将触发此方法
public void actionPerformed( ActionEvent e )
{
if( e.getSource() == bc )
{//单击了归0按钮,设置为默认值
result = 0;
lastOP = null ;
answer.setText("0"); //文本框设为0
isOK = true; //已经经过运算了
} else if( e.getSource() == badd || e.getSource() == bmin || e.getSource() == bmul || e.getSource() == bdev ||e.getSource() == be)
{//单击运算符号的按钮
op1 = e.getActionCommand();
getResult(op1);
} else
{//单击0到9之间的任意一个数字按钮
for( int i = 0; i b.length; i++ )
if( e.getSource() == b[i] )
{
if( isOK == true )
{
answer.setText(b[i].getActionCommand());
isOK = false;
}
else
{
answer.setText(answer.getText()+b[i].getActionCommand()); //在文本框上显示连续单击那几个数字
}
}
}
}
/**
* 作用:getResult()方法用于计算出结果值,并在文本框显示出来P
* @param op 本次操作运算符
* @param text
*/
private void getResult( String op )
{
if(answer.getText().equals("除数不能为0"))
{
answer.setText(result+"");
return;
}
if( lastOP==null )
{//没有上一次的操作
if(op.equals("=")){
return;
}else{
result = Integer.parseInt(answer.getText());
}
} else if( lastOP.equals("+") )
{//上一次单击了+号按钮
result = result + Integer.parseInt(answer.getText());
answer.setText(result+""); //文本框设为0
} else if( lastOP.equals("-") )
{//单击-号按钮
result = result - Integer.parseInt(answer.getText());
answer.setText(result+"");//在文本框上显示相加的结果
} else if( lastOP.equals("*") )
{//单击*号按钮
result = result * Integer.parseInt(answer.getText());
answer.setText(result+""); //文本框设为0
} else if( lastOP.equals("/") )
{//单击/号按钮
if(answer.getText().equals("0")) answer.setText("除数不能为0"); //文本框设为0
else{
result = result / Integer.parseInt(answer.getText());
answer.setText(result+""); //文本框设为0
}
}
isOK = true; //已经经过运算了
lastOP = op; //记下本次操作
}
//关闭窗口,触发此方法
public void windowClosing( WindowEvent ev )
{
System.exit(0); //退出程序
}
}
编写程序来执行两个数字12和5的算术加法,乘法和除法(java程序)求源代码
楼上的除法运算出错,a
/
b取商,a%b取余,同数学运算是有差异的。还有就是双精度浮点数的加减乘除会损失精度。建议用BigDecimal提供的方法来运算。
如:
BigDecimal
a
=
new
BigDecimal(12);
BigDecimal
b
=
new
BigDecimal(5);
加法运算:a=a.add(b);
减法运算:a=a.subtract(b);
乘法运算:a=a.multiply(b);
除法运算:a=a.divide(b);
获取运算结果:a.toString()
,
a.longValue()
,
a.intValue()
.....等等
保留两位小数,四舍五入:a=a.divide(b).setScale(2,
BigDecimal.ROUND_HALF_UP);
大量方法建议自查api文档。
java加法源码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java加法程序编写、java加法源码的信息别忘了在本站进行查找喔。