Javaコードでは、単純な電卓を書くこと(加算、減算は、基本的な機能を実現することができます)

パッケージA; 
インポート持つjava.awt。*; 
輸入java.awt.event.ActionEvent。
輸入java.awt.event.ActionListener。
輸入java.awt.event.MouseEvent。
輸入java.awt.event.MouseListener。

インポートするjavax.swing。*; 

パブリッククラスCalcular3はJFrameのがのActionListener、のMouseListenerを実装して延び{ 
	プライベートint型M1 = 0、N = 0; // 
	プライベートダブルM2 = 0; //运算的数
	プライベートINTフラグ= 0。
	JFrameのFを、
	JPanelのP1、P2、P3; 
	JTextFieldのtの。
	JButtonのB1 [] =新しいJButtonの[18]。
	= { "1"、 "2"、 "3"、 "4"、 "5"、 "6"、 "7"、 "8"、 "9"、 "0"、 "清空" [] B列、 "退格"、 "="、 "+"、 ""、 " - "、 "*"、"/"}。
	パブリックCalcular3(){ 
		fは=新しいJFrameの( "计算器")。
		T =新しいJTextFieldの(35)。
		P1 =新しいJPanelの();
		P2 =新しいJPanelの(); 
		} * /
		P3 =新しいJPanelの(); 
		f.setBounds(100、100、400、200)。
		f.add(P1、BorderLayout.NORTH)。
		f.add(P2、BorderLayout.CENTER)。
		f.add(P3、BorderLayout.EAST)。
		p2.setLayout(新しいのGridLayout(5,3)); 
		p3.setLayout(新しいのGridLayout(4,1)); 
		p1.add(T)。
		以下のために(INT i = 0; iは<14; I ++){ 
			B1 [I] =新しいJButtonの(B [I])。
			p2.add(B1 [I])。
			B1 [I] .addActionListener(本)
		} 
		(i = 14 int型、iは18 <; iは++)のための{ 
			B1 [I] =新しいJButtonの(B [I])。
			p3.add(B1 [I])。
			B1 [I] .addActionListener(本)
		} 
		/ *(I = 0 int型、iが18 <; I ++の)のために{ 
			B1 [I] .addActionListener(本)
		f.setVisible(真の); 
	} 
//实现接口的方法
	公共ボイドのmouseClicked(MouseEventのE){ 
		
	} 
	公共ボイドのmousePressed(MouseEventのE){ 
		
	} 
	公共ボイドのmouseReleased(MouseEventのE){ 
		
	} 
	公共ボイドのmouseEntered(MouseEventのE){ 
		
	} 
	公共ボイドのmouseExited(MouseEventのE){ 
		
	} 
	のactionPerformed公共ボイド(のActionEvent E){ 
		文字列str = ""; 
		私はint型。
		用(i = 0; iが<= 9; iは++){ 
			IF(e.getSource()== B1 [I]){ 
				IF(I == 9){ 
					N = N * 10。
				}他{ 
					N = N * 10 + I + 1。
				}	 
				STR = String.valueOf(N); //整形N转换成字符串STR  
				t.setText(STR); //テキストボックスに表示されます
			} 
		} 
		ための式(I = 14; iは18 <; iは++){// +、 - 、*、/ 
			IF(e.getSource() == B1 [I]){//匹配运算符
				Integer.parseInt = M1(t.getText()); 
				IF(フラグに== 15){ 
					M2 = M1 + M2; 
				}そうIF(フラグに== 16){ 
					M2 = M1-M2; 
				}そうIF(フラグに== 17){ 
					M2 = M1 * M2; 
				}そうIF(フラグ== 18){あるにおいて
					M2 = M1 / M2; 
				}そうM2 = M1、現在のデータM2保存する//連続操作のオペレータ不在、
				IF(Iし=フラグ= 15では14 =); 
				他のフラグ= 16で(I == 15)IF; 
				他(I == 16)IFフラグに= 17; 
				他のフラグに= 18であり; 
				STR String.valueOf =(B [I]); 
				T. setText(STR); //テキストブロックに表示された
				N = 0; //次の記録データ復元
				ブレーク; //一致するデータは、ループを終了することが見出されている
			} 
		} 
		(e.getSource()== B1 [13である])IF { = // 
				M2 = M1 + M2; 
			}そうIF(フラグに== 16){ 
			M1 = Integer.parseInt(t.getText())。
			IF(15 ==フラグに){ 
				M2 = M1-M2; 
			}そうIF {(フラグに== 17)
				M2 = M1 * M2; 
			}そうでなければ(フラグに== 18である)IF { 
				M2 = M2 / M1; 
			}そうM2 = M1; 
			STR = String.valueOf(M2); 
			t.setText(STR); //テキストブロックに表示された
			N = 0; //次のデータレコード復元
			フラグ= 0; //フラグ低減0、全く存在しないことを示します処理演算子
		} 
		IF(e.getSource()== B1 [10]){//変数が0にクリアされ
			、M1 = 0; 
			M2 = 0; 
			フラグ= 0で; 
			= 0 N-; 
			t.setText(「0 「); //テキストボックスに表示
		} 
		[11] IF(e.getSource()== B1){//バックスペース
			M1 =(INT)(Double.parseDouble( t.getText())/ 10)。 
			M1 = N-; 
			STR = String.valueOf(M1); 
			t.setText(STR); 
		} 
		IF(e.getSource()== B1 [12である]){//小数点
			Integer.parseInt = M1(t.getText());
			= String.valueOf STR(M1 + B [12である]); 
			t.setText(STR); //テキストボックスに表示された
			INT J = 0; 
			のための(I = 0;私は= <9; Iは++){ 
				(E IF .getSource()== B1 [I]){ 
					J ++; 
					M2 = Math.pow(0.1、J)* Integer.parseInt(B [I]); 
					STR String.valueOf =(M1 + M2); 
					t.setText( STR); //テキストボックスに表示
				} 
			} 
			
		} 
	} 
//メイン関数
	のpublic static無効メイン(文字列[] args){ 
		新しい新しいCalcular3(); 
	} 

}

  

おすすめ

転載: www.cnblogs.com/pxy0821/p/11564179.html