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

📄 awtcount.java

📁 贪食蛇的实现源码
💻 JAVA
字号:
package awt;
 import java.awt.*;//可以split 集合分割123一组,+一组//加也分连加不连加//输入一个处理一个还是全输入完再处理??
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
//利用全局变量计算。。。。。。
public class AWTCount extends Frame implements ActionListener {
	String o="";//若String o=null;则输出null
	String p="";
	String q="";
	double he=0;
	private Frame f=new Frame("计算器");
	private Label la=new Label("");
	private Panel pa=new Panel();
	//private static String count[]=new String[10];
	//int k=0;
	//private static double all=0;
	
	private Button[] butt=new Button[16];//必须 =new Button[16]
	public void go(){
		//Button[] butt=new Button[16];
		for(int i=0;i<10;i++){
		// System.out.println("请显示");
		 butt[i]= new Button(""+i);
		//System.out.println(butt[0]);//输出java.awt.Button[button0,0,0,0x0,invalid,label=0]
		 }
			butt[10]=new Button("+");
			butt[11]=new Button("-");
			butt[12]=new Button("*");
			butt[13]=new Button("/");
			butt[14]=new Button("reset");
			butt[15]=new Button("=");//还可添加小数点button
			
		f.setLayout(new BorderLayout());
		pa.setLayout(new GridLayout(4,3));//保证四行,列不一定为三,匹配即可
		f.add(BorderLayout.NORTH,la);
		f.add(BorderLayout.CENTER,pa);//.CENTER比.SOUTH好看点儿
		for(int i=1;i<4;i++)
		{//System.out.println("请显示");
//	System.out.println(butt[1]);//输出java.awt.Button[button0,0,0,0x0,invalid,label=1]
		pa.add(butt[i]);
		}
		pa.add(butt[10]);
		for(int i=4;i<7;i++)
			pa.add(butt[i]);
		pa.add(butt[11]);
		for(int i=7;i<10;i++)
			pa.add(butt[i]);
		pa.add(butt[12]);
		pa.add(butt[0]);
		pa.add(butt[14]);
	    pa.add(butt[13]);
	    pa.add(butt[15]);
	    f.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent evt){
				f.setVisible(false);
				f.dispose();
				System.exit(0);
			}
		});
	  for(int i=0;i<16;i++)
	    butt[i].addActionListener(this);//this 指谁啊??//此处调actionPerformed函数
	    
	    
	    f.setSize(300, 300);
		f.setVisible(true);
	}
/*public double countData(){     //switch case??也可
	  all=Double.parseDouble(count[0]);
	  for(int i=1;i<4;i++){//i<count[k].length()不行??
		  
		  if (count[i].equals("+")){
			 // System.out.println(count[i+1]);
			all=all+Double.parseDouble(count[i+1]);
			
		  }
		    else if (count[i].equals("-"))
				all=all-Double.parseDouble(count[i+1]);
		      else if (count[i].equals("*"))
				all=all*Double.parseDouble(count[i+1]);	
		      else if (count[i].equals("/"))
				all=all/Double.parseDouble(count[i+1]);
		      
		        //  else System.out.println("error!!");
	  }
	  return all;
  }*/
	   /* public void actionPerformed(ActionEvent evt){
	    	for(int i=0;i<10;i++){*/
	    	/*if(evt.getSource()==butt[i]){
	    		la.setText(la.getText()+butt[i].getLabel());//butt[1].getName()=butt[1];
	    	    //la.setText(""+butt[i]);//butt[i]对象,应该butt[1].getLabel()=1;
	    	   count[k]=butt[i].getLabel();
	    	  System.out.println(count[k]);
	    	    k++;
	    	   
	    	}
	    	}
	    	if(evt.getSource()==butt[10]){
    		la.setText(la.getText()+"+");	    	 
    		count[k]="+";
	    	    k++;
	    	}
	    	if(evt.getSource()==butt[11]){
	    		la.setText(la.getText()+"-");
	    		count[k]="-";
	    	    k++;
	    	}
	    	if(evt.getSource()==butt[12]){
	    		la.setText(la.getText()+"*");
	    		count[k]="*";
	    	    k++;
    	}
	    	if(evt.getSource()==butt[13]){	    	
	    		la.setText(la.getText()+"/");
	    		count[k]="/";
	    	    k++;
    	}
	    	if(evt.getSource()==butt[14]){
	    		la.setText("");//clean-- reset
	    		count[k]="";
    	    k++;
   	}
	    	if(evt.getSource()==butt[15]){
	    	 la.setText(la.getText()+"=");
    		 count[k]="=";
	    	    k++;
	    	    AWTCount aw=new AWTCount();
	    	   double n=aw.split();
	    	   la.setText(la.getText()+""+n);
	    	    
	    	}
	    	//System.out.println(count[0]);
	  }*/
	    	
	/*public double split(){
	    	for(int i=0;i<10;i++){*/
	   public void actionPerformed(ActionEvent evt){//点button一次触发一次此事件
	    		if(!(evt.getActionCommand().equals("+"))&&!(evt.getActionCommand().equals("-"))&&
	    	       !(evt.getActionCommand().equals("*"))&&!(evt.getActionCommand().equals("/"))&&
	    	       !(evt.getActionCommand().equals("="))&&!(evt.getActionCommand().equals("reset"))){
	    			//evt.getActionCommand()取按钮的值,la.getText();取label的值
	                o= o+evt.getActionCommand();//分清0与o
	    		    la.setText(o);
	    		}
	    	        
	    		else if(evt.getActionCommand().equals("+")){
	    			
	    			  p=o;
	    			  o="";
	    			  q="+";
	    		
	    			}
	    		else if(evt.getActionCommand().equals("-")){
	    			   
	    			  p=o;
	    			//he=Double.parseDouble(o);  错了 
	    			   o="";
	    			   q="-";
	    		}
	    		else if(evt.getActionCommand().equals("*")){
	    			 
	    			 p=o;
	    			 o="";
	    			 q="*";
	    		}
	    		else if(evt.getActionCommand().equals("/")){
	    			p=o;
	    			o="";
	    			q="/";
	    		}
	    		else if(evt.getActionCommand().equals("reset")){
	    			o="";
	    			q="";
	    			p="";
	    			he=0;//以上四句必要,因为reset代表从新开始,以前的记忆全部清零
	    			la.setText("");
	    			//System.out .println("hello");
	    		
	    		}
	    		else if(evt.getActionCommand().equals("=")){
	    			if(p==""){//连续运算
	    			if(q.equals("+")){//连加
	    			he=he+Double.parseDouble(o);
	    			la.setText(""+he);
	    			}
	    			if(q.equals("-")){
	    			he=he-Double.parseDouble(o);
	    			la.setText(""+he);
	    			}
	    			if(q.equals("*")){
		    			he=he*Double.parseDouble(o);
		    			la.setText(""+he);
	    			}
	    			if(q.equals("/")){
		    			he=he/Double.parseDouble(o);
		    			la.setText(""+he);
	    			}
	    			/*if(q.equals("reset")){
		    			
		    			la.setText("");
	    			}*/
	    			}
	    			else if(p!=""){
	    				if(q.equals("+")){
	    		        he=Double.parseDouble(p)+Double.parseDouble(o);
		    			la.setText(""+he);
		    			}
		    			if(q.equals("-")){
		    			he=Double.parseDouble(p)-Double.parseDouble(o);
		    			la.setText(""+he);
		    			}
		    			if(q.equals("*")){
			    			he=Double.parseDouble(p)*Double.parseDouble(o);
			    			la.setText(""+he);
		    			}
		    			if(q.equals("/")){
			    			he=Double.parseDouble(p)/Double.parseDouble(o);
			    			la.setText(""+he);
		    			}
		    			if(q.equals("reset")){
			    			
			    			la.setText("");
		    			}
	    			}
	    			     o="";
	    			     p="";
	    			     q="";
	    			     
		    		
	    		      }
	    		
	    	}
	   
	   
	
	public static void main(String[] args) {
		AWTCount aw=new AWTCount();
		aw.go();
	//	double n=aw.countData();//创建的方法怎么调在哪什么时候调??


	}
	
}
	

⌨️ 快捷键说明

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