亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? calculator.java

?? java計算器源碼。仿WINDOWS自帶計算器。
?? JAVA
字號:
package day1;

import java.awt.*;
import java.awt.event.*;

import javax.swing.JTextField;

//public class Calculator implements ActionListener,WindowListener{
  public class Calculator extends Frame implements ActionListener{//implements WindowListener{
	private String[] names={"7","8","9","/","sqrt",
    		                "4","5","6","*","%",
    		                "1","2","3","-","1/x",
    		                "0","+/-",".","+","="};
	private String[] commands={"Backspace","CE","C"};
	private String[] memorys={"MC","MR","MS","M+"};
	private Button[] buttons1=new Button[names.length];
	private Button[] buttons2=new Button[commands.length];
	private Button[] buttons3=new Button[memorys.length];
	private JTextField tf;
	private TextField distf;
	private double result=0;
	private double num1=0;
	private boolean state0;//true表示輸入操作數1
	private boolean state1;//true表示輸入操作數1
	private boolean state2;//true表示輸入運算符
	private boolean state3;//true表示輸入操作數2
	private String op;
	
	//定義構造函數以及構件布局
	public Calculator(){
		super("計算器");
		setup();
//		setLayout(new BorderLayout(0,20));
//		setBackground(Color.GRAY);
		pack();
		setVisible(true);
		addWindowListener(new WindowCloser());//
	}
	
	private void setup(){
		Panel p1=new Panel(new BorderLayout(8,0));//大面板,在Frame中間
		Panel p2=new Panel(new BorderLayout(0,6));
		Panel p21=new Panel(new BorderLayout());
		Panel p22=new Panel(new GridLayout(4,1,8,4));//mc、mr面板
		Panel p3=new Panel(new BorderLayout(0,6));//p4&p5
		Panel p4=new Panel(new GridLayout(1,3,4,6));//commands
		Panel p5=new Panel(new GridLayout(4,5,4,4));//names
		
		//菜單
		  Menu m1=new Menu("編輯(E)");
		  MenuItem m11=new MenuItem("復制 Ctrl+c");
		  MenuItem m12=new MenuItem("粘貼 Ctrl+v");
		  m1.add(m11);
		  m1.add(m12);
		  Menu m2=new Menu("查看(V)");
		  MenuItem m21=new MenuItem("標準型(T)");
		  MenuItem m22=new MenuItem("科學型(S)");
		  MenuItem m23=new MenuItem("科學分組(I)");
		  m2.add(m21);
		  m2.add(m22);
		  m2.add(m23);
		  Menu m3=new Menu("幫助(H)");
		  MenuItem m31=new MenuItem("幫助主題(H)");
		  MenuItem m32=new MenuItem("關于計算器(A)");
		  m3.add(m31);
		  m3.add(m32);
		  MenuBar ma=new MenuBar();
		  ma.add(m1);
		  ma.add(m2);
		  ma.add(m3);
		  setMenuBar(ma);
		  
		//文本域
		  
		  tf=new JTextField("0");
		  tf.setHorizontalAlignment(JTextField.RIGHT);
		  distf=new TextField();
		  distf.setEditable(false);
		  
		//添加組件
		  for(int i=0;i<names.length;i++){
			  buttons1[i]=new Button(names[i]);
			  buttons1[i].setForeground(Color.blue);
			  p5.add(buttons1[i]);
			  buttons1[i].addActionListener(this);
		  }
		  
		  buttons1[3].setForeground(Color.red);
		  buttons1[8].setForeground(Color.red);
		  buttons1[13].setForeground(Color.red);
		  buttons1[18].setForeground(Color.red);
		  buttons1[19].setForeground(Color.red);
		  
		  
		  for(int i=0;i<commands.length;i++){
			  buttons2[i]=new Button(commands[i]);
			  p4.add(buttons2[i]);
			  buttons2[i].setForeground(Color.red);
		      buttons2[i].addActionListener(this);
		  }
		
		  for(int i=0;i<memorys.length;i++){
			  buttons3[i]=new Button(memorys[i]);
			  p22.add(buttons3[i]);
			  buttons3[i].setForeground(Color.red);
			  buttons3[i].addActionListener(this);
		  }
		  
		  p3.add(p4,BorderLayout.NORTH);
		  p3.add(p5,BorderLayout.CENTER);
		  p21.add(distf,BorderLayout.CENTER);
		  p2.add(p21,BorderLayout.NORTH);
		  p2.add(p22,BorderLayout.CENTER);
		  p1.add(p2,BorderLayout.WEST);
		  p1.add(p3,BorderLayout.CENTER);
	  
		  add(tf,BorderLayout.NORTH);
		  add(p1,BorderLayout.CENTER);
	}
	
	//窗口事件處理
	public class WindowCloser extends WindowAdapter {
	public void windowClosing(WindowEvent e){
		System.exit(0);
	    }
    }
	
	public void actionPerformed(ActionEvent e){
		String label=e.getActionCommand();
		String str=tf.getText();
		state0=true;
		state1=false;
		state2=false;
		if(label=="C"){
			result=0;
			tf.setText("0");
			state0=true;
//			state2=true;
		}
		else if(label=="CE"){
			tf.setText("0");
			state0=true;
		}
		else if(label=="Backspace"){
			if(!state2){
			  if(str.length()>1)
                tf.setText(str.substring(0, str.length()-1));
               
			  else{tf.setText("0");
			   state0=true;
			   }
			}
		}
		
		else if("0123456789".indexOf(label)>0){
			  if(state0){
			    tf.setText(label);
			    state0=false;
			    state1=true;
			    state2=true;
			  }
			  else if(state1){
			    tf.setText("3");
			    state2=true;
			  }
			  num1=Double.parseDouble(tf.getText());
		}

		
//		else if("0123456789".indexOf(label)>0){
//			handNumber(label);
//		}
		
		
		else if(label=="sqrt"){
			double doubleStr=Double.parseDouble(str);
			doubleStr=Math.sqrt(doubleStr);
			tf.setText(Double.toString(doubleStr));
			if(state1) state2=true;
			if(state2) state1=true;
		}
		
		else if(label=="%"){
			
		}
		
		else if(label=="1/x"){
			if(str=="0")
				tf.setText("除數不能為零.");
			else{
				double doubleStr=Double.parseDouble(str);
			    doubleStr=1/doubleStr;
			    tf.setText(Double.toString(doubleStr));
			}
			state1=true;
			state2=true;
		}
		else if(label=="+/-"){
			double doubleStr=Double.parseDouble(str);
			doubleStr*=-1;
			tf.setText(Double.toString(doubleStr));
		}
		else if(label=="."){
			boolean isDot=true;
			for(int i=0;i<str.length();i++){
				if(str.charAt(i)=='.'){ 
					isDot=false;
				    break;
				}
			}
			if(isDot==true)
				tf.setText(str+".");
			state2=true;
		}
		
		
		else if(label=="MC")
			handleMC();
		else if(label=="MR")
			handleMC();
		else if(label=="MS")
			handleMC();
		else if(label=="M+")
			handleM();
			 
		else if("+-*/".indexOf(label)>0)
		{
			handleOp(label);
		}
		
			     
		}
	
/*	private void handNumber(String s){
		if(state0){
		tf.setText(s);
		}
		
		else
			tf.setText(tf.getText()+s);
	    state0=false;
		state1=true;
		
		//state2=true;
		//num1=Double.parseDouble(tf.getText());
	}	
*/	
	
  
	  
		private void handleOp(String s){ 
			if(state0)
				op=s;
			else{
				double num1=Double.parseDouble(tf.getText());
				if(op=="+"){
					result+=num1;
					tf.setText(Double.toString(result));
					state2=false;
					state1=false;
					state0=true;
				}
				if(op=="-"){
					result-=num1;
					tf.setText(Double.toString(result));
					state2=false;
					state1=false;
					state0=true;
				}
				if(op=="*"){
					result*=num1;
					tf.setText(Double.toString(result));
				}
				if(op=="/"){
					if(num1==0)
					   tf.setText("除數不能為零。");
					else{
					   result/=num1;
					   tf.setText(Double.toString(result));
					}
				}
				if(op=="="){
					result=num1;
					tf.setText(Double.toString(result));
		

				}
				op=s;
				state0=true;
				state1=false;
				state2=false;
				
			}			
	
		 
		}	
		
        private void handleMC(){
			
		}
        private void handleMR(){
			
		}
        private void handleMS(){
			
		}
        private void handleM(){
			
		}


	
	
	
	public static void main(String args[]) throws Exception{
		Calculator cal=new Calculator();
	}
	
	

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久成人黄色影片| 91精彩视频在线| 精品国产三级电影在线观看| 亚洲福利视频一区| 欧美影院午夜播放| 丝袜a∨在线一区二区三区不卡| 欧美性做爰猛烈叫床潮| 亚洲第一激情av| 在线播放91灌醉迷j高跟美女| 午夜电影网一区| 日韩一区二区三区精品视频 | 2023国产精品自拍| 岛国一区二区三区| 一区二区三区四区高清精品免费观看 | 亚洲国产日韩综合久久精品| 欧美日韩激情在线| 国产美女娇喘av呻吟久久 | 国产精品久久久久久福利一牛影视| 成人高清伦理免费影院在线观看| 亚洲视频综合在线| 91精品国产一区二区| 国产乱国产乱300精品| 成人免费视频在线观看| 欧美欧美欧美欧美首页| 国产一区二区视频在线| 自拍偷拍亚洲综合| 日韩女优电影在线观看| 色婷婷国产精品久久包臀 | 狠狠色2019综合网| 中文字幕一区三区| 精品久久久网站| 99国产精品久| 久久99国产精品久久| 亚洲美女电影在线| 日韩欧美一级精品久久| 一本大道久久精品懂色aⅴ| 美女视频免费一区| 一区二区三区日本| 久久蜜桃一区二区| 在线播放日韩导航| 日本精品免费观看高清观看| 久久草av在线| 性感美女久久精品| 亚洲人成人一区二区在线观看| 6080日韩午夜伦伦午夜伦| 99精品视频在线免费观看| 精品写真视频在线观看| 亚洲午夜av在线| 中文子幕无线码一区tr| 日韩欧美一卡二卡| 欧美日韩一区二区三区视频| 丁香天五香天堂综合| 精品一区二区三区视频在线观看| 亚洲综合精品自拍| 亚洲欧美另类久久久精品2019| 久久久精品天堂| 日韩免费性生活视频播放| 欧美在线高清视频| 97精品久久久午夜一区二区三区 | 久久久国际精品| 51精品久久久久久久蜜臀| 欧美中文字幕亚洲一区二区va在线 | 在线观看91精品国产入口| 成人午夜短视频| 国产suv一区二区三区88区| 精品一区二区影视| 奇米在线7777在线精品| 日韩av在线播放中文字幕| 亚洲一区二区成人在线观看| 中文字幕视频一区| 亚洲视频一区在线| 亚洲欧美aⅴ...| 亚洲精品菠萝久久久久久久| 亚洲视频一区二区在线| 亚洲桃色在线一区| 亚洲乱码国产乱码精品精可以看 | 亚洲一区二区三区自拍| 亚洲美女偷拍久久| 成人免费在线视频| 亚洲视频免费看| 一区二区三区日韩精品| 亚洲午夜在线观看视频在线| 亚洲综合网站在线观看| 91毛片在线观看| 91美女片黄在线观看91美女| 色爱区综合激月婷婷| 欧美亚洲综合在线| 91精品欧美福利在线观看| 日韩欧美一级片| 国产校园另类小说区| 国产精品家庭影院| 一区二区三区在线免费视频| 亚洲一区欧美一区| 青青草原综合久久大伊人精品优势 | 欧美岛国在线观看| 久久精品视频在线看| 中文字幕二三区不卡| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲影视在线播放| 日本强好片久久久久久aaa| 老司机精品视频线观看86| 国产精品91xxx| 色诱亚洲精品久久久久久| 欧美疯狂做受xxxx富婆| 精品99久久久久久| 18涩涩午夜精品.www| 亚洲午夜电影在线| 国内精品写真在线观看| 不卡高清视频专区| 欧美日韩一二三| 久久久久久毛片| 亚洲影院理伦片| 精东粉嫩av免费一区二区三区| 成人激情黄色小说| 777久久久精品| 国产精品美女久久久久aⅴ | 日韩欧美激情一区| 国产精品久久久久国产精品日日| 亚洲成人免费影院| 国产精选一区二区三区| 日本韩国精品在线| 国产亚洲欧美日韩日本| 亚洲午夜久久久久久久久电影网 | 久久久精品综合| 一区二区三区在线视频免费 | 欧美成人精品高清在线播放 | 国产精品免费视频一区| 日韩国产精品91| 91丨九色丨黑人外教| 精品国产亚洲一区二区三区在线观看| 国产精品午夜春色av| 日本在线不卡视频一二三区| 99久久99久久精品国产片果冻| 日韩一级欧美一级| 亚洲日本在线a| 国产成人亚洲综合a∨猫咪| 在线播放中文一区| 一区二区三区日本| 成人性生交大片免费看中文网站| 欧美一区二区三区四区久久| 中文字幕第一区第二区| 精品一区二区在线看| 欧美男人的天堂一二区| 综合中文字幕亚洲| 国产成人精品综合在线观看| 91精品综合久久久久久| 一卡二卡欧美日韩| 99国产精品久久久| 国产精品久久久久9999吃药| 国产精品综合av一区二区国产馆| 欧美一区二区在线免费播放| 一区二区三区在线高清| 成人教育av在线| 国产女主播在线一区二区| 久久99蜜桃精品| 日韩一区二区在线观看视频| 亚洲国产欧美日韩另类综合| 色综合av在线| 亚洲精品五月天| 99国产精品久久| 日韩毛片视频在线看| 成人av电影观看| 中文字幕av一区二区三区免费看| 国产精品影视天天线| 久久―日本道色综合久久| 蓝色福利精品导航| 精品精品国产高清a毛片牛牛 | 蜜臀av一区二区在线观看 | 欧美日韩中文字幕一区| 亚洲一区免费在线观看| 欧美性一二三区| 天堂在线亚洲视频| 91.com视频| 秋霞电影网一区二区| 欧美一区二区免费| 久久99在线观看| 国产天堂亚洲国产碰碰| 国产精品一区在线观看你懂的| www一区二区| 粉嫩蜜臀av国产精品网站| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲激情图片qvod| 欧美日产国产精品| 免费成人结看片| 久久女同互慰一区二区三区| 不卡av电影在线播放| 亚洲另类春色校园小说| 欧美性生活久久| 美女视频黄免费的久久| 国产亚洲一区二区三区四区| 成人毛片在线观看| 亚洲国产一二三| 日韩欧美色电影| 99视频一区二区三区| 亚洲在线视频一区| 日韩视频免费观看高清完整版在线观看 | 制服丝袜一区二区三区| 麻豆高清免费国产一区| 欧美电影免费观看完整版| 亚洲电影欧美电影有声小说|