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

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

?? computerpad.java

?? Java用鏈表實現的計算器程序高性能
?? JAVA
字號:
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.border.*; 
import java.util.LinkedList; 
import java.text.NumberFormat; 
public class ComputerPad extends Frame implements ActionListener,KeyListener 
{ 
	NumberButton numberButton[]; 
	OperationButton oprationButton[]; 
	Button 小數點按鈕,正負號按鈕,退格按鈕, 
	求倒數按鈕,等號按鈕,清零按鈕; 
	Panel panel; 
	JTextField resultShow; 
	String 運算符號[]={"+","-","*","/"}; 
	LinkedList 鏈表; 
	boolean 是否按下等號=false;


 public ComputerPad() 
 { 
    JFrame frame= new JFrame();
    鏈表=new LinkedList(); 
	numberButton=new NumberButton[10]; 
	for(int i=0;i<=9;i++) 
	{ 
		numberButton[i]=new NumberButton(i); 
		numberButton[i].addActionListener(this); 
	} 
	oprationButton=new OperationButton[4]; 
	for(int i=0;i<4;i++) 
	{ 
		oprationButton[i]=new OperationButton(運算符號[i]); 
		oprationButton[i].addActionListener(this); 
	} 
	小數點按鈕=new Button("."); 
	正負號按鈕 =new Button("+/-"); 
	等號按鈕=new Button("="); 
	求倒數按鈕=new Button("1/x"); 
	退格按鈕=new Button("退格"); 
	清零按鈕=new Button("C"); 
	清零按鈕.setForeground(Color.red); 
	退格按鈕.setForeground(Color.red); 
	等號按鈕.setForeground(Color.red); 
	求倒數按鈕.setForeground(Color.blue); 
	正負號按鈕.setForeground(Color.blue); 
	小數點按鈕.setForeground(Color.blue); 
	退格按鈕.addActionListener(this); 
	清零按鈕.addActionListener(this); 
	等號按鈕.addActionListener(this); 
	小數點按鈕.addActionListener(this); 
	正負號按鈕.addActionListener(this); 
	求倒數按鈕.addActionListener(this); 
	resultShow=new JTextField(10); 
	resultShow.setHorizontalAlignment(JTextField.RIGHT); 
	resultShow.setForeground(Color.blue); 
	resultShow.setFont(new Font("TimesRoman",Font.PLAIN,14)); 
	resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED)); 
	resultShow.setBackground(Color.white); 
	resultShow.setEditable(true); 
	panel=new Panel(); 
	panel.setLayout(new GridLayout(4,5)); 

	panel.add(numberButton[1]); 
	panel.add(numberButton[2]); 
	panel.add(numberButton[3]); 
	panel.add(oprationButton[0]); 
	panel.add(清零按鈕); 

	panel.add(numberButton[4]); 
	panel.add(numberButton[5]); 
	panel.add(numberButton[6]); 
	panel.add(oprationButton[1]); 
	panel.add(退格按鈕); 

	panel.add(numberButton[7]); 
	panel.add(numberButton[8]); 
	panel.add(numberButton[9]); 
	panel.add(oprationButton[2]); 
	panel.add(求倒數按鈕); 

	panel.add(numberButton[0]); 
	panel.add(正負號按鈕); 
	panel.add(小數點按鈕); 
	panel.add(oprationButton[3]); 
	panel.add(等號按鈕); 
	frame.getContentPane().add(panel,BorderLayout.CENTER); 
	frame.getContentPane().add(resultShow,BorderLayout.NORTH); 

    frame.setVisible(true); 
	frame.setBounds(100,50,240,180); 
	frame.setResizable(false); 
	frame.validate();
	resultShow.setFocusable(true);
	
 } 
   public void keyReleased(KeyEvent e)
  {
  }

  
   public void keyTyped(KeyEvent e)
  {
    	String sKey = String.valueOf ( e.getKeyChar () ) ;
	    	 	 		
  }
 
 
   public void keyPressed(KeyEvent e)
  {
  }
  public void actionPerformed(ActionEvent e) 
  { 
     

	if(e.getSource() instanceof NumberButton ) 
	{ 
		NumberButton b=(NumberButton)e.getSource(); 
		if(鏈表.size()==0) 
		{ 
			int number=b.getNumber(); 
			鏈表.add(""+number); 
			resultShow.setText(""+number); 
			是否按下等號=false; 
		} 

	   else if(鏈表.size()==1&&是否按下等號==false) 
	   { 
		   int number=b.getNumber(); 
	       String num=(String)鏈表.getFirst(); 
		   String s=num.concat(""+number); 
		   鏈表.set(0,s); 
		   resultShow.setText(s); 
	   } 
	  else if(鏈表.size()==1&&是否按下等號==true) 
	   { 
		   int number=b.getNumber(); 
		   鏈表.removeFirst(); 
		   鏈表.add(""+number); 
		   是否按下等號=false; 
		   resultShow.setText(""+number); 
	   } 
	  else if(鏈表.size()==2) 
	   { 
		   int number=b.getNumber(); 
		   鏈表.add(""+number); 
		   resultShow.setText(""+number); 
	   } 
	  else if(鏈表.size()==3) 
	   { 
		   int number=b.getNumber(); 
		   String num=(String)鏈表.getLast(); 
		   String s=num.concat(""+number); 
		   鏈表.set(2,s); 
		   resultShow.setText(s); 
	   } 
    } 
   else if(e.getSource() instanceof OperationButton) 
   { 
		OperationButton b=(OperationButton)e.getSource(); 
		if(鏈表.size()==1) 
		{ 
			String fuhao=b.get運算符號(); 
			鏈表.add(fuhao); 
		} 
		else if(鏈表.size()==2) 
		{ 
			String fuhao=b.get運算符號(); 
			鏈表.set(1,fuhao); 
		} 
		else if(鏈表.size()==3) 
		{ 
			String fuhao=b.get運算符號(); 
			String number1=(String)鏈表.getFirst(); 
			String number2=(String)鏈表.getLast(); 
			String 運算符號=(String)鏈表.get(1); 
			try 
			{ 
				double n1=Double.parseDouble(number1); 
				double n2=Double.parseDouble(number2); 
				double n=0; 
				if(運算符號.equals("+")) 
				{ 
					n=n1+n2; 
				} 
				else if(運算符號.equals("-")) 
				{ 
					n=n1-n2; 
				} 
				else if(運算符號.equals("*")) 
				{ 
					n=n1*n2; 
				} 
				else if(運算符號.equals("/")) 
				{ 
					n=n1/n2; 
				} 
				鏈表.clear(); 
				鏈表.add(""+n); 
				鏈表.add(fuhao); 
				resultShow.setText(""+n); 
			} 
			catch(Exception ee) 
			{ 
			} 
		} 
	} 
   else if(e.getSource()==等號按鈕) 
   { 
		是否按下等號=true; 
		if(鏈表.size()==1||鏈表.size()==2) 
		{ 
			String num=(String)鏈表.getFirst(); 
			resultShow.setText(""+num); 
		} 
		else if(鏈表.size()==3) 
		{ 
			String number1=(String)鏈表.getFirst(); 
			String number2=(String)鏈表.getLast(); 
			String 運算符號=(String)鏈表.get(1); 
			try 
			{ 
			    
				double n1=Double.parseDouble(number1); 
				double n2=Double.parseDouble(number2); 
				double n=0; 
				if(運算符號.equals("+")) 
				{ 
					n=n1+n2; 
				} 
				else if(運算符號.equals("-")) 
				{ 
					n=n1-n2; 
				} 
				else if(運算符號.equals("*")) 
				{ 
					n=n1*n2; 
				} 
				else if(運算符號.equals("/")) 
				{ 
					n=n1/n2; 
				} 
				resultShow.setText(""+n); 
				鏈表.set(0,""+n); 
				鏈表.removeLast(); 
				鏈表.removeLast();
				 

 			} 
		  catch(Exception ee) 
		  { 
          } 
      } 
   } 
   else if(e.getSource()==小數點按鈕) 
   { 
		if(鏈表.size()==0) 
		{ 
			是否按下等號=false; 
		} 
		else if(鏈表.size()==1) 
		{ 
			String dot=小數點按鈕.getLabel(); 
			String num=(String)鏈表.getFirst(); 
			String s=null; 
			if(num.indexOf(dot)==-1) 
			{ 
				s=num.concat(dot); 
				鏈表.set(0,s); 
			} 
			else 
			{ 
				s=num; 
			} 
			鏈表.set(0,s); 
			resultShow.setText(s); 
		} 

		else if(鏈表.size()==3) 
		{ 
			String dot=小數點按鈕.getLabel(); 
			String num=(String)鏈表.getLast(); 
			String s=null; 
			if(num.indexOf(dot)==-1) 
			{ 
				s=num.concat(dot); 
				鏈表.set(2,s); 
			} 
		else 
		{ 
			s=num; 
		} 
		resultShow.setText(s); 
	  } 
   } 
   else if(e.getSource()==退格按鈕) 
   { 
		if(鏈表.size()==1) 
		{ 
			String num=(String)鏈表.getFirst(); 
			if(num.length()>=1) 
			{ 
				num=num.substring(0,num.length()-1); 
				鏈表.set(0,num); 
				resultShow.setText(num); 
			} 
		    else 
			{ 
				鏈表.removeLast(); 
				resultShow.setText("0"); 
			} 
		} 
	   else if(鏈表.size()==3) 
	   { 
			String num=(String)鏈表.getLast(); 
			if(num.length()>=1) 
			{
				 num=num.substring(0,num.length()-1); 
				 鏈表.set(2,num); 
				 resultShow.setText(num); 
			} 
			else 
			{ 
				鏈表.removeLast(); 
				resultShow.setText("0"); 
			} 
	} 
   } 
   else if(e.getSource()==正負號按鈕) 
   { 
		if(鏈表.size()==1) 
		{ 
			String number1=(String)鏈表.getFirst(); 
			try 
			{ 
			    
				double d=Double.parseDouble(number1); 
				d=-1*d; 
				String str=String.valueOf(d); 
				鏈表.set(0,str); 
				resultShow.setText(str);
				if (d>10000||d<-10000)
                 throw new MyException(d);
                System.out.println("\t 正常退出"); 
			} 
			catch(MyException ee) 
			{ 
			    System.out.println("\t 捕獲異常:"+ee.toString( ));
			} 
		} 
		else if(鏈表.size()==3) 
		{ 
			String number2=(String)鏈表.getLast(); 
			try 
			{ 
				double d=Double.parseDouble(number2); 
				d=-1*d; 
				String str=String.valueOf(d); 
				鏈表.set(2,str); 
				resultShow.setText(str);
				System.out.print(d);
				if (d>10000||d<-10000)
                 throw new MyException(d);
                System.out.println("\t 正常退出"); 
			} 
			catch(MyException ee) 
			{ 
			   System.out.println("\t 捕獲異常:"+ee.toString( ));
			} 
		} 
    } 
   else if(e.getSource()==求倒數按鈕) 
   { 
		if(鏈表.size()==1||鏈表.size()==2) 
		{ 
			String number1=(String)鏈表.getFirst(); 
			try 
			{  
			   
				double d=Double.parseDouble(number1); 
				d=1.0/d; 
				String str=String.valueOf(d); 
				鏈表.set(0,str); 
				resultShow.setText(str); 
				 if (d>10000||d<-10000)
                 throw new MyException(d);
                System.out.println("\t 正常退出");
			} 
			catch(MyException ee) 
			{ 
			  System.out.println("\t 捕獲異常:"+ee.toString( ));
			} 
		} 
		else if(鏈表.size()==3) 
		{ 
			String number2=(String)鏈表.getLast(); 
			try 
			{ 
				double d=Double.parseDouble(number2); 
				d=1.0/d; 
				String str=String.valueOf(d); 
				鏈表.set(0,str); 
				resultShow.setText(str);
				if (d>10000||d<-10000)
                 throw new MyException(d);
                System.out.println("h"); 
			} 
			catch(MyException ee) 
			{
				 System.out.println("\t 捕獲異常:"+ee.toString( ));
			}
		}	 
	}  
   else if(e.getSource()==清零按鈕) 
   { 
		是否按下等號=false; 
		resultShow.setText("0"); 
		鏈表.clear(); 
   } 
 } 
 public static void main(String args[]) 
 { 
    new ComputerPad(); 
 }
  
}


class MyException extends Exception
{   private double detail;
    MyException(double d)
    {   detail=d;}
    public String toString( )
    {   return "MyException"+detail;}
}





 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费看的电影| 久久精品国产网站| jvid福利写真一区二区三区| 久久久蜜桃精品| 激情综合五月婷婷| 国产亚洲一区二区三区| 国产伦理精品不卡| 国产免费成人在线视频| 不卡视频一二三| 亚洲欧美日韩中文字幕一区二区三区 | 中文字幕一区二区三区乱码在线| 国产盗摄精品一区二区三区在线| 国产亚洲成aⅴ人片在线观看| 国产精品99久| 亚洲欧美综合另类在线卡通| gogogo免费视频观看亚洲一| 一区二区三区美女视频| 欧美久久久久久蜜桃| 久久99精品久久只有精品| 国产午夜精品一区二区三区四区| 国产激情视频一区二区在线观看 | 亚洲人成精品久久久久| 欧美在线短视频| 日本aⅴ精品一区二区三区| wwwwxxxxx欧美| 91免费小视频| 奇米色一区二区三区四区| 久久精品在这里| 在线免费观看成人短视频| 麻豆精品在线观看| 国产精品女同互慰在线看| 欧美中文字幕一区| 国产主播一区二区三区| 亚洲人xxxx| 精品国产91亚洲一区二区三区婷婷| 国产91在线|亚洲| 一区二区欧美国产| 精品国产91乱码一区二区三区 | 亚洲婷婷综合久久一本伊一区| 欧美性生活久久| 国产中文一区二区三区| 亚洲在线观看免费| 2023国产精品| 欧美三区在线观看| 大胆欧美人体老妇| 免费日韩伦理电影| 亚洲午夜在线视频| 欧美国产激情二区三区| 欧美一区二区视频在线观看2020 | 国产日韩精品一区二区三区在线| 精品国产91亚洲一区二区三区婷婷 | 国产精品国产自产拍高清av王其 | 国产调教视频一区| 欧美日韩一区高清| 99久久国产综合精品色伊| 蜜桃一区二区三区在线| 亚洲一区视频在线观看视频| 欧美国产精品久久| 久久久国产精华| 欧美一区二区在线免费观看| 欧美中文字幕一区二区三区亚洲| 成人动漫一区二区在线| 国内精品久久久久影院色| 日韩精品一区第一页| 亚洲日本免费电影| 国产精品女同互慰在线看| 久久综合色婷婷| 欧美tickling网站挠脚心| 欧美日韩一区不卡| 欧美综合色免费| 日本韩国一区二区三区| 风间由美一区二区三区在线观看 | 日韩精品亚洲专区| 一区二区三区自拍| 亚洲欧美日韩国产综合| 国产精品久久久久久久久动漫| 久久久久久久久久久电影| 日韩精品中文字幕在线一区| 欧美裸体bbwbbwbbw| 欧美日韩国产a| 欧美日韩小视频| 欧美日韩国产免费| 69堂亚洲精品首页| 欧美高清视频在线高清观看mv色露露十八| 色综合久久久网| 日本精品免费观看高清观看| 一本久久a久久免费精品不卡| 99久久精品费精品国产一区二区| 99国产精品国产精品毛片| 91美女片黄在线观看91美女| 色婷婷综合久久久中文字幕| 日本韩国欧美国产| 欧美日韩视频在线第一区 | 成人中文字幕合集| 成人一区二区三区视频在线观看| 成人综合在线观看| 91蜜桃视频在线| 欧美日韩中文字幕一区二区| 91精品国产一区二区三区| 日韩免费看网站| 日本一区二区三区视频视频| 亚洲品质自拍视频| 亚洲1区2区3区视频| 麻豆国产精品官网| 国产精品一区2区| 99精品国产一区二区三区不卡| 97成人超碰视| 欧美日韩精品一区视频| 日韩免费高清av| 国产精品美女久久久久久久网站| 中文字幕字幕中文在线中不卡视频| 一区二区三区成人| 日本大胆欧美人术艺术动态| 国产精品一区在线观看你懂的| 高清在线成人网| 欧美色图天堂网| 精品国产91九色蝌蚪| 最新不卡av在线| 肉丝袜脚交视频一区二区| 国产乱对白刺激视频不卡| 91免费观看在线| 日韩精品一区二区三区视频 | 精品福利av导航| 国产精品久久久一区麻豆最新章节| 亚洲精品中文在线观看| 男人操女人的视频在线观看欧美| 国产精华液一区二区三区| 在线看不卡av| 久久婷婷一区二区三区| 亚洲综合免费观看高清完整版在线| 蜜臀a∨国产成人精品| 成人av综合在线| 欧美一级电影网站| 国产精品成人一区二区艾草| 麻豆一区二区三| 91成人免费网站| 午夜伦欧美伦电影理论片| 国产精品综合一区二区三区| 欧美视频日韩视频| 中文字幕一区三区| 精品中文字幕一区二区小辣椒| 色乱码一区二区三区88| 久久久午夜精品理论片中文字幕| 亚洲综合色丁香婷婷六月图片| 国产成人亚洲综合a∨猫咪| 欧美日韩国产一区二区三区地区| 久久久久久久综合日本| 日韩精品欧美精品| 色呦呦国产精品| 亚洲国产精品传媒在线观看| 美女网站在线免费欧美精品| 欧美亚洲综合久久| 亚洲欧洲成人av每日更新| 国产一区二区免费在线| 91精品国产一区二区三区蜜臀 | 99精品欧美一区二区三区综合在线| 日韩免费看的电影| 日韩中文字幕91| 欧美性极品少妇| 亚洲激情五月婷婷| 99re66热这里只有精品3直播| 久久久久久久久久看片| 久久99蜜桃精品| 日韩欧美中文一区二区| 五月婷婷综合网| 欧美三电影在线| 亚洲五码中文字幕| 欧美亚洲综合网| 一区二区免费在线播放| 欧洲av在线精品| 亚洲主播在线观看| 欧美自拍丝袜亚洲| 亚洲午夜久久久久久久久电影院| 99精品视频在线观看| 最新中文字幕一区二区三区| 丁香亚洲综合激情啪啪综合| 国产欧美一区二区三区沐欲| 国产99久久久久| 国产日本欧洲亚洲| 成人福利视频在线看| 国产精品免费网站在线观看| youjizz久久| 亚洲精选一二三| 欧美日韩国产系列| 麻豆精品在线播放| 图片区小说区区亚洲影院| 欧美亚洲综合另类| 日韩av中文在线观看| 欧美一区二区黄| 精品一区二区三区视频| 国产色产综合色产在线视频| 成人av集中营| 亚洲欧美另类综合偷拍| 欧美日韩亚洲国产综合| 麻豆成人免费电影| 国产精品天美传媒沈樵| 91官网在线免费观看| 日本va欧美va精品| 日本一区二区三区高清不卡| 97se狠狠狠综合亚洲狠狠|