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

📄 calculator.java

📁 简单的计算器,已经包含了JAVABOOK.适合新手学习
💻 JAVA
字号:
import javabook.*; 
import java.awt.*; 
import java.awt.event.*; 
class Caculator extends Frame implements ActionListener 
{ 
private static final int LEFT=0; 
private static final int RIGHT=1; 
private StringBuffer leftOpr,rightOpr; 
private String opr,str; 
private Button[] button; 
private TextField inLine; 
private int status; 

public Caculator() 
{ 
super("CACULATOR"); 
setSize(320,300); 
setResizable(false); 
setLayout(null); 
setLocation(100,100); 

initGUI(); 
status=LEFT; 
opr="="; 
inLine.setText("0"); 
leftOpr=new StringBuffer(""); 
rightOpr=new StringBuffer("0"); 
} 
private void initGUI() 
{ 
inLine=new TextField(); 
inLine.setBounds(40,40,130,20); 
add(inLine); 
button=new Button[18]; 
button[0]=new Button("7"); 
button[1]=new Button("8"); 
button[2]=new Button("9"); 
button[3]=new Button("4"); 
button[4]=new Button("5"); 
button[5]=new Button("6"); 
button[6]=new Button("1"); 
button[7]=new Button("2"); 
button[8]=new Button("3"); 
button[9]=new Button("0"); 
button[10]=new Button("."); 
button[11]=new Button("="); 
button[12]=new Button("*"); 
button[13]=new Button("/"); 
button[14]=new Button("-"); 
button[15]=new Button("CE"); 
button[16]=new Button("+"); 
button[17]=new Button("C"); 

for(int j=0;j<3;j++) 
{ 
button[j].setBounds(40+50*j,90,30,30); 
add(button[j]); 
} 
for(int i=3;i<6;i++) 
{ 
button[i].setBounds(40+50*(i-3),140,30,30); 
add(button[i]); 
} 
for(int i=6;i<9;i++) 
{ 
button[i].setBounds(40+50*(i-6),190,30,30); 
add(button[i]); 
} 

for(int i=9;i<12;i++) 
{ 
button[i].setBounds(40+50*(i-9),240,30,30); 
add(button[i]); 
} 
button[12].setBounds(220,90,30,30); 
add(button[12]); 
button[13].setBounds(270,90,30,30); 
add(button[13]); 
button[14].setBounds(220,140,30,30); 
add(button[14]); 
button[15].setBounds(270,140,30,30); 
add(button[15]); 
button[16].setBounds(220,190,30,80); 
add(button[16]); 
button[17].setBounds(270,190,30,30); 
add(button[17]); 
for(int i=0;i<18;i++) button[i].addActionListener(this); 

} 
public void actionPerformed(ActionEvent event) 
{ 
str=event.getActionCommand(); 
if(str.equals(".")) 
{ 
{if(status==LEFT) getLeftOpr(); 
else if(status==RIGHT) getRightOpr(); 
} 
} 
for(int i=0;i<=9;i++) 
{ 
if(Convert.toString(i).equals(str)) 
{if(status==LEFT) getLeftOpr(); 
else if(status==RIGHT) getRightOpr(); 
} 
} 
getOprCompu(); 
} 
private void getLeftOpr() 
{ 
leftOpr.append(str); 
inLine.setText(leftOpr.toString()); 
} 
private void getRightOpr() 
{ 
rightOpr.append(str); 
inLine.setText(rightOpr.toString()); 
} 
private void getOprCompu() 
{ 
if(str.equals("CE")) 
{ clear();} 
if(str.equals("+")) 
{ 
compute(); 
opr="+"; 
status=RIGHT; 
} 
if(str.equals("-")) 
{ 
compute(); 
opr="-"; 
status=RIGHT; 
} 
if(str.equals("*")) 
{ 
compute(); 
opr="*"; 
status=RIGHT; 
} 
if(str.equals("/")) 
{ 
compute(); 
opr="/"; 
status=RIGHT; 
} 
if(str.equals("=")) 
{ 
compute(); 
opr="="; 
} 

} 
private void clear() 
{leftOpr=new StringBuffer(""); 
rightOpr=new StringBuffer("0"); 
status=LEFT; 
opr="="; 
inLine.setText("0"); 
} 
private void compute() 
{ 
double result=Convert.toDouble(leftOpr.toString()); 
if(opr.equals("+")) 
{ 
result=Convert.toDouble(leftOpr.toString())+Convert.toDouble(rightOpr.toString()); 
} 
if(opr.equals("-")) 
{ 
result=Convert.toDouble(leftOpr.toString())-Convert.toDouble(rightOpr.toString()); 
} 
if(opr.equals("*")) 
{ 
result=Convert.toDouble(leftOpr.toString())*Convert.toDouble(rightOpr.toString()); 
} 
if(opr.equals("/")) 
{ 
result=Convert.toDouble(leftOpr.toString())/Convert.toDouble(rightOpr.toString()); 
} 

leftOpr=new StringBuffer(Convert.toString(result)); 
inLine.setText(leftOpr.toString()); 
rightOpr=new StringBuffer(""); 
} 
} 
class CaculatorMain 
{ 
public static void main(String[] args) 
{ 

Caculator caculator=new Caculator(); 
caculator.setVisible(true); 
} 
} 

⌨️ 快捷键说明

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