⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculator.java

📁 使用java语言编写的功能比较强大的计算机。压缩包中有3个不同的版本
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;

//setup the windows
public class Calculator{
	public static void main(String [] args){
		int i=0,j=1,k=0,m=1,n=1;
		Frame f=new Frame("计算器");
		TextField t=new TextField("",20);
		f.add(t,"North");
		Panel p=new Panel();
		f.add(p,"Center");
		p.setLayout(new GridLayout(4,4));
		Button [] buttons=new Button[16];
		for(i=0;i<16;i++){
			if(j%4==0&&k==0){buttons[i]=new Button("+");k++;m--;j++;}
			else if(j%4==0&&k==1){buttons[i]=new Button("-");k++;m--;j++;}
			else if(j%4==0&&k==2){buttons[i]=new Button("*");k++;m--;j++;}
			else if(j%4==0&&k==3){buttons[i]=new Button("/");j++;}
			else if(n==13){buttons[i]=new Button("C");m--;j++;}
			else if(n==14){buttons[i]=new Button("0");m--;j++;}
			else if(n==15){buttons[i]=new Button("=");m--;j++;}
			else{buttons[i]=new Button(""+m);j++;}
			m++;
			n++;
			}
		buttons[3].setForeground(Color.red);
		buttons[7].setForeground(Color.red);
		buttons[11].setForeground(Color.red);
		buttons[12].setForeground(Color.red);
		buttons[14].setForeground(Color.red);
		buttons[15].setForeground(Color.red);
		for(i=0;i<buttons.length;i++)
			p.add(buttons[i]);
		Monitor_window m_window=new Monitor_window(f);
		f.addWindowListener(m_window);
		Monitor_buttons m_buttons0=new Monitor_buttons(buttons[0],t);
		buttons[0].addActionListener(m_buttons0);
		Monitor_buttons m_buttons1=new Monitor_buttons(buttons[1],t);
		buttons[1].addActionListener(m_buttons1);
		Monitor_buttons m_buttons2=new Monitor_buttons(buttons[2],t);
		buttons[2].addActionListener(m_buttons2);
		Monitor_buttons m_buttons4=new Monitor_buttons(buttons[4],t);
		buttons[4].addActionListener(m_buttons4);
		Monitor_buttons m_buttons5=new Monitor_buttons(buttons[5],t);
		buttons[5].addActionListener(m_buttons5);
		Monitor_buttons m_buttons6=new Monitor_buttons(buttons[6],t);
		buttons[6].addActionListener(m_buttons6);
		Monitor_buttons m_buttons8=new Monitor_buttons(buttons[8],t);
		buttons[8].addActionListener(m_buttons8);
		Monitor_buttons m_buttons9=new Monitor_buttons(buttons[9],t);
		buttons[9].addActionListener(m_buttons9);
		Monitor_buttons m_buttons10=new Monitor_buttons(buttons[10],t);
		buttons[10].addActionListener(m_buttons10);
		Monitor_buttons m_buttons13=new Monitor_buttons(buttons[13],t);
		buttons[13].addActionListener(m_buttons13);
		Monitor_buttons12 m_buttons12=new Monitor_buttons12(buttons[12],t);
		buttons[12].addActionListener(m_buttons12);
		Monitor_buttons3 m_buttons3=new Monitor_buttons3(buttons[3],t);
		buttons[3].addActionListener(m_buttons3);
		Monitor_buttons14 m_buttons14=new Monitor_buttons14(buttons[14],t);
		buttons[14].addActionListener(m_buttons14);
		Monitor_buttons7 m_buttons7=new Monitor_buttons7(buttons[7],t);
		buttons[7].addActionListener(m_buttons7);
		Monitor_buttons11 m_buttons11=new Monitor_buttons11(buttons[11],t);
		buttons[11].addActionListener(m_buttons11);
		Monitor_buttons15 m_buttons15=new Monitor_buttons15(buttons[15],t);
		buttons[15].addActionListener(m_buttons15);
		f.setSize(150,190);
		f.setLocation(390,270);
		f.setVisible(true);
	}
}

//close the windows
class Monitor_window extends WindowAdapter{
	Monitor_window(Frame f){
		this.f=f;
	}
	private Frame f;
	public void windowClosing(WindowEvent e){
		System.exit(0);
	}
}

class Monitor_buttons implements ActionListener{
	Monitor_buttons(Button buttons,TextField t){
		this.buttons=buttons;
		this.t=t;
	}
	private Button buttons;
	private TextField t;
	public void actionPerformed(ActionEvent e){
		if(BL.k==0)
			t.setText(t.getText()+buttons.getLabel());
		if(BL.k==2)
			t.setText(t.getText()+buttons.getLabel());
		if(BL.k==1){
			BL.y=Integer.parseInt(t.getText());
			t.setText(buttons.getLabel());
			BL.k=2;
		}
		if(BL.k==3){
			t.setText(buttons.getLabel());
			BL.y=Integer.parseInt(t.getText());
			BL.k=0;
		}
	}
}

class Monitor_buttons12 implements ActionListener{
	Monitor_buttons12(Button buttons,TextField t){
		this.buttons=buttons;
		this.t=t;
	}
	private Button buttons;
	private TextField t;
	public void actionPerformed(ActionEvent e){
		t.setText("");
		BL.k=0;
	}
}
class Monitor_buttons14 implements ActionListener{
	Monitor_buttons14(Button buttons,TextField t){
		this.buttons=buttons;
		this.t=t;
	}
	private Button buttons;
	private TextField t;
	public void actionPerformed(ActionEvent e){
		BL.z=Integer.parseInt(t.getText());
		if(BL.x==1) t.setText(""+(BL.y+BL.z));
		if(BL.x==2) t.setText(""+(BL.y-BL.z));
		if(BL.x==3) t.setText(""+(BL.y*BL.z));
		if(BL.x==4) t.setText(""+(BL.y/BL.z));
		BL.k=3;
		BL.x=0;
	}
}

class Monitor_buttons3 implements ActionListener{
	Monitor_buttons3(Button buttons,TextField t){
		this.buttons=buttons;
		this.t=t;
	}
	private Button buttons;
	private TextField t;
	public void actionPerformed(ActionEvent e){
		if(BL.k==0||BL.k==3){
			BL.k=1;
		}
		if(BL.k==2){
			BL.z=Integer.parseInt(t.getText());
			if(BL.x==1) t.setText(""+(BL.y+BL.z));
			if(BL.x==2) t.setText(""+(BL.y-BL.z));
			if(BL.x==3) t.setText(""+(BL.y*BL.z));
			if(BL.x==4) t.setText(""+(BL.y/BL.z));
			BL.k=1;
		}
		BL.x=1;
	}
}
class Monitor_buttons7 implements ActionListener{
	Monitor_buttons7(Button buttons,TextField t){
		this.buttons=buttons;
		this.t=t;
	}
	private Button buttons;
	private TextField t;
	public void actionPerformed(ActionEvent e){
		if(BL.k==0||BL.k==3){
			BL.k=1;
		}
		if(BL.k==2){
			BL.z=Integer.parseInt(t.getText());
			if(BL.x==1) t.setText(""+(BL.y+BL.z));
			if(BL.x==2) t.setText(""+(BL.y-BL.z));
			if(BL.x==3) t.setText(""+(BL.y*BL.z));
			if(BL.x==4) t.setText(""+(BL.y/BL.z));
			BL.k=1;
		}
		BL.x=2;
	}
}
class Monitor_buttons11 implements ActionListener{
	Monitor_buttons11(Button buttons,TextField t){
		this.buttons=buttons;
		this.t=t;
	}
	private Button buttons;
	private TextField t;
	public void actionPerformed(ActionEvent e){
		if(BL.k==0||BL.k==3){
			BL.k=1;
		}
		if(BL.k==2){
			BL.z=Integer.parseInt(t.getText());
			if(BL.x==1) t.setText(""+(BL.y+BL.z));
			if(BL.x==2) t.setText(""+(BL.y-BL.z));
			if(BL.x==3) t.setText(""+(BL.y*BL.z));
			if(BL.x==4) t.setText(""+(BL.y/BL.z));
			BL.k=1;
		}
		BL.x=3;
	}
}
class Monitor_buttons15 implements ActionListener{
	Monitor_buttons15(Button buttons,TextField t){
		this.buttons=buttons;
		this.t=t;
	}
	private Button buttons;
	private TextField t;
	public void actionPerformed(ActionEvent e){
		if(BL.k==0||BL.k==3){
			BL.k=1;
		}
		if(BL.k==2){
			BL.z=Integer.parseInt(t.getText());
			if(BL.x==1) t.setText(""+(BL.y+BL.z));
			if(BL.x==2) t.setText(""+(BL.y-BL.z));
			if(BL.x==3) t.setText(""+(BL.y*BL.z));
			if(BL.x==4) t.setText(""+(BL.y/BL.z));
			BL.k=1;
		}
		BL.x=4;
	}
}
class BL{
	static int x=0,y=0,z=0,k=0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -