
1、新建一个java类,定义加法的方法。定义方式为声明两个变量,然后相加,赋给第三个变量,并使用return返回出来。
2、在第一步中的java类中,定义减法的方法。定义方式跟加法类似,只要把加法中的“+”号修改为“-”,再修改方法名。
3、在第一步中的java类中,定义乘法的方法。定义方式为声明两变量相乘并赋值,返回的类型不再是int,一般则定义为double。
4、在第一步中的java类中,定义除法的方法。与乘法基本一样。除数不能为0,所以要进行判断一下。
5、最后在main函数中,实例化该java类,并通过实例化的别名点方法名实现调用加减乘除的方法(如:例子中的TestHello test = new TestHello();testsum(8, 9);),右键运行控制台打印出结果。
6、补充一下:细心的同学,应该注意到通过实例化的别名点方法名又赋值给另外一个变量,这个也可以省略,直接修改为Systemoutprintln(int sum = testsum(8, 9));这种方式打印出来。
package comzswtest;
public class sleeping_Pea {
public static void main(String[] args) {
Systemoutprintln(calcN(10));
print(100, 200);
}
/
计算圆的面积
@param radio
圆的半径
@return
/
public static float calcCicle(float radio) {
if (radio <= 0) {
return 0;
}
return (float) (radio radio MathPI);
}
/
计算N的阶乘
@param n
@return
/
public static long calcN(int n) {
if (n - 1 > 0) {
return n calcN(n - 1);
}
return n;
}
/
打印出指定数字范围的能被3整除的数字,每10个一行输出
@param startNum
数字起始值,包含
@param endNum
数字结束值,包含
/
public static void print(int startNum, int endNum) {
if (startNum > endNum) {
new IllegalArgumentException("起始值大于结束值异常!");
}
int tmp = startNum;
int printCount = 0;
while (tmp <= endNum) {
if (tmp % 3 == 0) {
Systemoutprint(tmp + " ");
printCount++;
if (printCount == 10) {
Systemoutprint("\n");
printCount = 0;
}
}
tmp++;
}
}
}
public class Number {
private Integer n1;
private Integer n2;
/ 构造方法 /
public Number(Integer n1, Integer n2) {
super();
thisn1 = n1;
thisn2 = n2;
}
/ 加 /
public Integer addition() {
Systemoutprintln(thisn1 + thisn2);
return thisn1 + thisn2;
}
/ 减 /
public Integer subtration() {
Systemoutprintln(thisn1 - thisn2);
return thisn1 - thisn2;
}
/ 乘 /
public Integer multiplication() {
Systemoutprintln(thisn1 thisn2);
return thisn1 thisn2;
}
/ 除 /
public Integer division() {
Systemoutprintln(thisn1 / thisn2);
return thisn1 / thisn2;
}
public Integer getN1() {
return n1;
}
public void setN1(Integer n1) {
thisn1 = n1;
}
public Integer getN2() {
return n2;
}
public void setN2(Integer n2) {
thisn2 = n2;
}
}
public static void main(String[] args) {
Number number = new Number(1, 2);
numberaddition();
numbersubtration();
numbermultiplication();
numberdivision();
}
简单的啊,我有个自己编的完美的,不过给你改成简单的吧。有注释。
import javaawt;
import javaxswing;
import javaxswingborder;
import javaawtevent;
import javatext;
public class Calculator extends JFrame implements ActionListener
{
int m=0,i,n=0;
float sum=0,s1,s2,equ;
String v="";
JPanel delete_main = new JPanel();
JPanel delete = new JPanel();
JPanel buttons = new JPanel();
JTextField text = new JTextField("0");
JButton backspace = new JButton("Backspace");
JButton c = new JButton("C");
JButton ce = new JButton("CE");
JButton bt1= new JButton("1");
JButton bt2= new JButton("2");
JButton bt3= new JButton("3");
JButton bt4= new JButton("+");
JButton bt5 = new JButton("4");
JButton bt6= new JButton("5");
JButton bt7= new JButton("6");
JButton bt8= new JButton("-");
JButton bt9= new JButton("7");
JButton bt10= new JButton("8");
JButton bt11= new JButton("9");
JButton bt12= new JButton("");
JButton bt13= new JButton("0");
JButton bt14= new JButton("");
JButton bt15= new JButton("=");
JButton bt16= new JButton("/");
public Calculator()
{
super("简易计算器--超人不会飞荣誉出品");
deletesetLayout(new GridLayout(1, 3, 15, 15));
deleteadd(backspace);
deleteadd(c);
deleteadd(ce);
deletesetBorder(new LineBorder(deletegetBackground(), 5));//添加边框
caddActionListener(this);
ceaddActionListener(this);
backspaceaddActionListener(this);
textsetFont(new Font("宋体", FontBOLD +FontITALIC, 20));
// 设置显示字体
textsetBackground(ColorgetHSBColor(44, 3, 87));
textsetBorder(new LineBorder(ColorORANGE, 1));
textsetHorizontalAlignment(SwingConstantsRIGHT); // 设置鼠标靠右
textsetEditable(false); // 屏蔽键盘输入,防止非法字符
delete_mainsetLayout(new GridLayout(2, 1, 10, 10));
delete_mainadd(text, BorderLayoutNORTH);
delete_mainadd(delete, BorderLayoutSOUTH);
buttonssetLayout(new GridLayout(4, 5, 10, 20));
bt1addActionListener(this); // 为各个按钮添加事件监听
buttonsadd(bt1);
bt2addActionListener(this);
buttonsadd(bt2);
bt3addActionListener(this);
buttonsadd(bt3);
bt4addActionListener(this);
buttonsadd(bt4);
bt5addActionListener(this);
buttonsadd(bt5);
bt6addActionListener(this);
buttonsadd(bt6);
bt7addActionListener(this);
buttonsadd(bt7);
bt8addActionListener(this);
buttonsadd(bt8);
bt9addActionListener(this);
buttonsadd(bt9);
bt10addActionListener(this);
buttonsadd(bt10);
bt11addActionListener(this);
buttonsadd(bt11);
bt12addActionListener(this);
buttonsadd(bt12);
bt13addActionListener(this);
buttonsadd(bt13);
bt14addActionListener(this);
buttonsadd(bt14);
bt15addActionListener(this);
buttonsadd(bt15);
bt16addActionListener(this);
buttonsadd(bt16);
buttonssetBorder(new LineBorder(deletegetBackground(), 5));//边框
thissetLayout(new BorderLayout());
thisadd(delete_main, BorderLayoutNORTH);
thisadd(buttons, BorderLayoutSOUTH);
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE); //添加关闭窗口事件监听器
pack(); //自动设置窗体大小
setResizable(false); // 设置面板大小不可变
setVisible(true);
Toolkit tk = thisgetToolkit();
Dimension de = tkgetScreenSize();
setBounds((dewidth - thisgetWidth()) / 2,(deheight - thisgetHeight()) / 2, thisgetWidth(), thisgetHeight());
//使之居于屏幕正中央
}
public void actionPerformed(ActionEvent e)
{ //事件响应
//Object source = egetSource();
if(egetSource()==backspace) //退格键
{
v=vsubstring(0,vlength() - 1);
textsetText(v);
}
if(egetSource()==c||egetSource()==ce) //清空键
{
m=0;
sum=0;
v="";s1=0;s2=0;i=0;
textsetText("0");
}
if(egetSource()==bt1)
{
if(m==1)
v="";
v=v+"1";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt2)
{
if(m==1)
v="";
v=v+"2";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt3)
{
if(m==1)
v="";
v=v+"3";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt4) // +按钮
{
if(n==1) //如果按之前按了0~9数字键,就运算
{
sum=FloatparseFloat(v);
}
else //如果按之前没按0~9数字键,直接按了运算符,不做任何 *** 作
{
}
i=1;
m=1;n=0;
}
if(egetSource()==bt5)
{
if(m==1)
v="";
v=v+"4";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt6)
{
if(m==1)
v="";
v=v+"5";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt7)
{
if(m==1)
v="";
v=v+"6";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt8) // -按钮
{
if(n==1)
{
sum=FloatparseFloat(v);
}
else
{
}
i=2;
m=1;n=0;
}
if(egetSource()==bt9)
{
if(m==1)
v="";
v=v+"7";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt10)
{
if(m==1)
v="";
v=v+"8";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt11)
{
if(m==1)
v="";
v=v+"9";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt12) //按钮
{
if(n==1)
{
sum=FloatparseFloat(v);
}
else
{
}
i=3;
m=1;n=0;
}
if(egetSource()==bt13)
{
if(m==1)
v="";
v=v+"0";
textsetText(v);
m=0;n=1;
}
if(egetSource()==bt14)
{
}
if(egetSource()==bt15) //等于按钮
{
if(m==1) // 如果输入了+=等非法输入,不做任何 *** 作
{ }
else
{
s1=sum;
s2=FloatparseFloat(v);
switch(i)
{
case 0: //如果按过数字键后直接按等号,直接输出
equ=FloatparseFloat(v);
break;
case 1:
equ=s1+s2;
break;
case 2:
equ=s1-s2;
break;
case 3:
equ=s1s2;
break;
case 4:
equ=s1/s2;
break;
}
sum=0;v=""; //清空运算数
v=StringvalueOf(equ);
textsetText(StringvalueOf(equ));
i=0;
}
}
if(egetSource()==bt16) // 除按钮
{
if(n==1)
{
sum=FloatparseFloat(v);
}
else
{
}
i=4;
m=1;n=0;
}
}
public static void main(String[] args)
{
Calculator bt=new Calculator();
}
}
import javaawt;
import javaawtevent;
import javaxswing;
public class Calculator implements ActionListener{
private double data1=00,data2=00;
private String t_content;
boolean number=false;
short key=-1;//key用来标示用户所按下的按钮即加减乘除。key为0标示+,为1表示-,为2表示,为3表示
short pkey=-1;//pkey的取值为-1--5,pkey为-1表示第一次按下=按钮,为5说明不是第一次按下=按钮,pkey为其他值0,1,2,3时分别代表+,-,
Frame frame=new Frame("Calculator");//定义标题为Calculator的窗体
TextField textfield=new TextField(30);//定义计算器的输入
Button backspace=new Button("Backspace");//定义backspace,ce,c0按钮
Button ce=new Button("CE");
Button c0=new Button("C");
Panel p1=new Panel();//定义面板,其中backspace,ce,c0按钮和计算机兰textfeild放在面板p1中
Panel p2=new Panel();//其余按钮放在面板p2中,为GridLayout布局,4行5列
String names[]={"7","8","9","/","sqrt","4","5","6","","%","1","2","3","-","1/x","0","+/-","","+","="};//定义界面上的按钮数组,即除去backspace,ce,c0按钮的所有按钮
Button bb[]=new Button[nameslength];
public static void main(String[] args){
Calculator cal=new Calculator();//实例化Calculator对象
calgo();
}//函数入口
public void go(){
framesetSize(300,200);//设置窗体大小
framesetLayout(new BorderLayout());//设置布局为边框布局
Font fonts=new Font("楷体_GB2312",FontPLAIN,12);
//设置面板p1的字体和布局管理类型,将textfeild对象添加到面板中
p1setFont(fonts);
p1setLayout(new GridLayout(2,1,5,10));
textfieldsetFont(fonts);
p1add(textfield,null);
//backspace,ce,c0按钮注册addActionListener方法
backspaceaddActionListener(this);
ceaddActionListener(this);
c0addActionListener(this);
//将backspace,ce,c0按钮添加到p1面板中
p1add(backspace,null);
p1add(ce,null);
p1add(c0,null);
p2setLayout(new GridLayout(4,5,5,5));//设置面板p2的布局管理器类型为GridLayout
//为按钮组中的按钮注册addActionListener方法
for(int i=0;i<nameslength;i++){
bb[i]=new Button(names[i]);
p2add(bb[i]);
bb[i]addActionListener(this);
}
//设置面板p1和面板p2在窗体中的位置//面板p1在窗体的North方向,面板p2在窗体的South方向
frameadd(p1,BorderLayoutNORTH);
frameadd(p2,BorderLayoutSOUTH);
framesetVisible(true);
//当单击关闭按钮时退出系统
frameaddWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
Systemexit(0);
}
});
}
public void actionPerformed(ActionEvent ae){
String s=aegetActionCommand();//定义了一个Sting类的变量s,将getActionCommand方法得到的值传递给参数ae
//通过ActionEvent类的getActionCommand()方法,得出动作是由哪个按钮触发的。 //用户单击一次,计算栏里便去掉一个字符,先将计算栏里的字符清空,再添加除最好一个字符的字符串
if(sequals("Backspace")&&number){
t_content=textfieldgetText();
textfieldsetText("");
for(int i=0;i<t_contentlength()-1;i++){
char c=t_contentcharAt(i);
textfieldsetText(textfieldgetText()+c);
}
}
//用户单击的是CE按钮,计算栏清空
if(sequals("CE")){
textfieldsetText("");
number=false;
}
//用户单击的是C按钮
if(sequals("C")){
textfieldsetText("");
data1=data2=00;
number=false;
}
//用户单击的是sqrt按钮,其中负数不能被开方
if(sequals("sqrt")&&number){
t_content=textfieldgetText();
if(t_contentcharAt(0)=='-'){
textfieldsetText("负数不能被开方");
number=false;
}else{
textfieldsetText(DoubletoString(javalangMathsqrt(DoubleparseDouble(t_content))));
}
}
//用户单击的是1/x求倒数按钮,求倒数时分母不能为0
if(sequals("1/x") && number){
t_content=textfieldgetText();
if(t_contentequals("0")){
textfieldsetText("零不能求倒数");
number=false;
}else{
textfieldsetText(DoubletoString(1/DoubleparseDouble(t_content)));
}
}
//用户单击的是%按钮
if(sequals("%")&&number){
if(data2==0){
t_content=textfieldgetText();
textfieldsetText(t_content);
}else{
boolean g=false;
for(int i=0;i<textfieldgetText()length();i++)
if(''==textfieldgetText()charAt(i)){
g=true;
break;
}
//如果是Double 数,除100
if(g=true){
double dtemp=DoubleparseDouble(textfieldgetText());
dtemp=dtemp/1000;
textfieldsetText(DoubletoString(dtemp));
}
//如果是int数但能被100整除,则去掉末尾两个0
else{
if(IntegerparseInt(textfieldgetText())%100==0){
int itemp=IntegerparseInt(textfieldgetText());
itemp/=100;
textfieldsetText(IntegertoString(itemp));
}
//如果是int数,但不能被100整除,则按Double数处理
else{
double dtemp=DoubleparseDouble(textfieldgetText());
dtemp=dtemp/1000;
textfieldsetText(DoubletoString(dtemp));
}
}
}
}
//对正负数字的处理
if(sequals("+/-")){
t_content=textfieldgetText();
if(t_contentcharAt(0)=='-'){
textfieldsetText("");
String content;
for(int i=1;i<t_contentlength();i++){
textfieldsetText(textfieldgetText()+t_contentcharAt(i));
}
}else{
textfieldsetText("-"+t_content);
}
}
//所按下的按钮为+按钮
if(sequals("+")){
switch(pkey){
case 0:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 1:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 2:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 3:
if(textfieldgetText()equals("0")){
textfieldsetText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfieldsetText(DoubletoString(data2));
break;
}
default:
data2=DoubleparseDouble(textfieldgetText());
}
pkey=key=0;
textfieldsetText("");
}
//第五页
//所按下的按钮为-按钮
if(sequals("-")){
switch(pkey){
case 0:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 1:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 2:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 3:
if(textfieldgetText()equals("0")){
textfieldsetText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfieldsetText(DoubletoString(data2));
break;
}
default:
data2=DoubleparseDouble(textfieldgetText());
}
pkey=key=1;
textfieldsetText("");
}
//所按下的按钮为按钮
if(sequals("")){
switch(pkey){
case 0:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 1:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 2:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 3:
if(textfieldgetText()equals("0")){ // 第六页
textfieldsetText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfieldsetText(DoubletoString(data2));
break;
}
default:
data2=DoubleparseDouble(textfieldgetText());
}
pkey=key=2;
textfieldsetText("");
}
//所按下的按钮为/按钮
if(sequals("/")){
switch(pkey){
case 0:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 1:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 2:
data2+=DoubleparseDouble(textfieldgetText());
break;
case 3:
if(textfieldgetText()equals("0")){
textfieldsetText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfieldsetText(DoubletoString(data2));
break;
}
default:
data2=DoubleparseDouble(textfieldgetText());
}
pkey=key=3;
textfieldsetText("");
} //第七页
//所按下的按钮为=,求结果
if(sequals("=")&&number){
//如果不是第一次按下=按钮
if(pkey==5){
switch(pkey){
case 0:
data2+=data1;
textfieldsetText(DoubletoString(data2));
break;
case 1:
data2-=data1;
textfieldsetText(DoubletoString(data2));
break;
case 2:
data2=data1;
textfieldsetText(DoubletoString(data2));
break;
case 3:
if(textfieldgetText()equals("0")){
textfieldsetText("除数不能为零");
number=false;
}else{
data2/=data1;
textfieldsetText(DoubletoString(data2));
break;
}
}
}
//如果是第一次按下=按钮
else{
data1=DoubleparseDouble(textfieldgetText());
switch(key){
case 0:
key=-1;
data2+=DoubleparseDouble(textfieldgetText());
textfieldsetText(DoubletoString(data2));
break;
case 1:
key=-1;
data2-=DoubleparseDouble(textfieldgetText());
textfieldsetText(DoubletoString(data2)); //第八页
break;
case 2:
key=-1;
data2=DoubleparseDouble(textfieldgetText());
textfieldsetText(DoubletoString(data2));
break;
case 3:
if(textfieldgetText()equals("0")){
textfieldsetText("除数不能为零");
number=false;
}else{
key=-1;
data2/=DoubleparseDouble(textfieldgetText());
textfieldsetText(DoubletoString(data2));
break;
}
}
}
pkey=5;
}
//按下的按钮时数字按钮
else{
switch(scharAt(0)){
case'0':
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
number=true;
textfieldsetText(textfieldgetText()+s);
break;
//对的处理
case'':
t_content=textfieldgetText();
boolean g=false; //第九页
//对计算机栏中的数据进行检验
//如果其中有小数点,则用户单击该按钮时不在添加小数点
for(int i=0;i<t_contentlength();i++){
if(t_contentcharAt(i)==''){
g=true;
break;
}
}
//数据中已经有小数点
if(g==true)
break;
// 数据中没有小数点,当用户单击小数点时添加小数点
if(g==false)
textfieldsetText(t_content+"");
}
}
}
private String Integer(String string) {
// TODO Auto-generated method stub
return null;
}
}
以上就是关于java程序,用图形实现乘除运算全部的内容,包括:java程序,用图形实现乘除运算、用Java语言编写以下程序:、一、编写Java程序,模拟简单的计算器。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)