java-hesap-makinesi
java-hesap-makinesi

Java ile Dinamik Hesap Makinesi

Merhaba arkadaşlar,

Bu yazımızda sizlere java ile yazılan dinamik hesap makinesinin kodlarını paylaşacağız. Dinamik ne demek ilk önce ondan bahsedelim.
Dinamik programlar;
Bizi kod fazlalığından kurtarır,
Problemin çözümüne yönelik kısa yollardır,
Hızlı ve kolay güncelleme, değiştirme işlemleri yapabiliriz,

Evet şimdi hesap makinemize geçebiliriz;

java-dinamik-hesap-makinesi
java-dinamik-hesap-makinesi

Kodlarımıza geçelim;

Hesap makinesinin butonları for döngüsü ile oluşturulmuş olup her butona Action Listener sınıfı ile görev verilmiştir.

package test;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.util.EventObject;
import javax.swing.SwingConstants;
import java.awt.event.ActionEvent;

public class hesap_m extends JFrame {

	private JPanel contentPane;

	static JButton[] btn = new JButton[16];

	int s1,s2,yap;
	int islem;

	int i,j;
	int sayac = 0;
	private JTextField sonuc;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					hesap_m frame = new hesap_m();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public hesap_m() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 314, 359);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		sonuc = new JTextField();
		sonuc.setHorizontalAlignment(SwingConstants.RIGHT);
		sonuc.setFont(new Font("Cambria", Font.BOLD, 16));
		sonuc.setBounds(12, 13, 265, 45);
		contentPane.add(sonuc);
		sonuc.setColumns(10);

		String[] isaretler = {"9","8","7", "/", 
				"6","5","4", "*",
				"3","2","1", "-", 
				"0","C","=", "+" };

		for(i=0; i<4; i++) {
			for(j=0; j<4; j++) {
				btn[sayac] = new JButton();
				btn[sayac].setText(isaretler[sayac]);
				btn[sayac].setBounds((20 + j*65), (80+ i*55), 55, 45);
				contentPane.add(btn[sayac]);
				sayac++;
			}
		}

		ActionListener a1 = new ActionListener() {
			public void actionPerformed(ActionEvent e) {

				if(e.getSource() == btn[0]){
					sonuc.setText(sonuc.getText()+9);
				}
				if(e.getSource() == btn[1]){
					sonuc.setText(sonuc.getText()+8);
				}
				if(e.getSource() == btn[2]){
					sonuc.setText(sonuc.getText()+7);
				}
				if(e.getSource() == btn[3]){  // /
					s1 = Integer.parseInt(sonuc.getText());
					islem = 4;
					sonuc.setText("");
				}
				if(e.getSource() == btn[4]){  //6
					sonuc.setText(sonuc.getText()+6);
				}
				if(e.getSource() == btn[5]){ //5
					sonuc.setText(sonuc.getText()+5);
				}
				if(e.getSource() == btn[6]){ //4
					sonuc.setText(sonuc.getText()+4);
				}
				if(e.getSource() == btn[7]){ // *
					s1 = Integer.parseInt(sonuc.getText());
					islem = 3;
					sonuc.setText("");;
				}
				if(e.getSource() == btn[8]){ //3
					sonuc.setText(sonuc.getText()+3);
				}
				if(e.getSource() == btn[9]){ //2
					sonuc.setText(sonuc.getText()+2);
				}
				if(e.getSource() == btn[10]){ //1
					sonuc.setText(sonuc.getText()+1);
				}
				if(e.getSource() == btn[11]){ // -
					s1 = Integer.parseInt(sonuc.getText());
					islem = 2;
					sonuc.setText("");;
				}
				if(e.getSource() == btn[12]){ //0
					sonuc.setText(sonuc.getText()+0);
				}
				if(e.getSource() == btn[13]){ //C SİL
					sonuc.setText("");
				}
				if(e.getSource() == btn[14]){ // =
					s2 = Integer.parseInt(sonuc.getText());

					if(islem==1) {
						yap = s1 + s2;
						sonuc.setText(Integer.toString(yap));
					}
					else if(islem==2) {
						yap = s1 - s2;
						sonuc.setText(Integer.toString(yap));
					}
					else if(islem==3) {
						yap = s1 * s2;
						sonuc.setText(Integer.toString(yap));
					}
					else if(islem==4) {
						yap = s1 / s2;
						sonuc.setText(Integer.toString(yap));
					}
				}
				if(e.getSource() == btn[15]){ // +
					s1 = Integer.parseInt(sonuc.getText());
					islem = 1;
					sonuc.setText("");
				}
			}
		};
		btn[0].addActionListener(a1);
		btn[1].addActionListener(a1);
		btn[2].addActionListener(a1);
		btn[3].addActionListener(a1);
		btn[4].addActionListener(a1);
		btn[5].addActionListener(a1);
		btn[6].addActionListener(a1);
		btn[7].addActionListener(a1);
		btn[8].addActionListener(a1);
		btn[9].addActionListener(a1);
		btn[10].addActionListener(a1);
		btn[11].addActionListener(a1);
		btn[12].addActionListener(a1);
		btn[13].addActionListener(a1);
		btn[14].addActionListener(a1);
		btn[15].addActionListener(a1);
	}
}
SORUNUZ OLURSA LÜTFEN SORMAKTAN ÇEKİNMEYİNİZ.

Java ile Yazdığımız Basit Hesap Makinesini Gitmek için TIKLAYINIZ.

Hakkında: admin

Yönetim Bilişim Sistemleri öğrencisi. Öğrendiği bilgileri elinden geldiğince paylaşmaya çalışıyor.

İLGİNİZİ ÇEKEBİLİR

java-metni-tersten-yazdirma-method

Java – Girilen Metni Tersten Yazdırma (Method İle)

Merhaba arkadaşlar, bu yazımızda java ile kullanıcıdan alınan bir metni tersten yazma nasıl yapılıyor onu …

Subscribe
Bildir
guest
1 Yorum
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback
1 yıl önce

[…] önceki yazımızda java ile dinamik hesap makinesini nasıl yazacağınızı göndermiştik, Bu yazımızda ise basit bir hesap makinesi nasıl […]