Java'da Hesap Makinesi Yapımı

-

Programlama - Java - Arkadaşım Üniversite ilk sınıfta Hesap Makinası Yapıyormuş Benimde ilgilimi Çekti Nasıl Yapılır bu Hesap Makinesi ?



Geri Dön   Wardom.Org > Programlama > Java

 
Eski10-04-2010, 16:21   #1
botbeta
 
Java'da Hesap Makinesi Yapımı - botbeta
Java'da Hesap Makinesi Yapımı

Arkadaşım Üniversite ilk sınıfta Hesap Makinası Yapıyormuş Benimde ilgilimi Çekti

Nasıl Yapılır bu Hesap Makinesi ?

Düzenleyen botbeta : 10-04-2010 16:44. Sebep: Üzgünüm :)
 
anahtar kelimeler     0
Java'da Hesap Makinesi Yapımı
anahtar kelimeler:

javada hesap makinesi kodu, java hesap makinesi gui, java'da gui ile hesap makinesi, Java'da Hesap Makinesi Yapımı.


Eski11-04-2010, 17:38   #2
zige
 
Java'da Hesap Makinesi Yapımı - zige

çok büyük bir olayı yok aslında Java'da Hesap Makinesi yazmanın
önemli olan kaç tane işlem yapmasını istediğin (4 işleme ek olarak)
ve arayüz konusu (buton olup,olmaması gibi)
google'da aratarak örnek kod bulabilirsin kolaylıkla
 

Eski11-05-2010, 23:24   #3
RebelFire
 
Java'da Hesap Makinesi Yapımı - RebelFire

Arkadaşlar, Benimde Hesap Makinesi Yapma Ödevim Var. Fakat Java Konusunda Hiç Birşey Bilmiyorum. Birisi Nasıl Yapılacağını Anlatabilir mi?
 

Eski12-05-2010, 00:42   #4
Cobra1
 
Java'da Hesap Makinesi Yapımı - Cobra1

etiketi indir orada java'ile yapılan bir hesap makınesı var.
Eklenen Dosyalar
Dosya Türü: rar calculator.rar (6.2 KB, 134 views)
 

Eski12-05-2010, 00:56   #5
BorderLiNe
 
Java'da Hesap Makinesi Yapımı - BorderLiNe

ALTTAKİ KAYNAK KODUNU İNCELEYİNİZ..

Kod:
// calc-ui-model/Calc.java -- Fred Swartz
//     Level     : Intermediate.
//     Structure : Three files: main, GUI (subclass of JFrame), logic.
//     Components: JButton, JTextField (right justified).
//     Containers: JFrame, several JPanels.
//     Layouts   : BorderLayout to put the other panels together.
//                 Two GridLayout panels for the buttons.
//     Listeners : One ActionListener which is shared by all
//                 numeric key buttons.  Similarly share
//                 an ActionListener for all operator buttons.
//                 ActionListener for Clear button.
//     Other     : Use Font to enlarge font for components.
//               : try...catch for NumberFormatExceptions.

// Possible enhancements:
//               Check for zero before division.
//               Additional operations: mod, square root, sign change, ...
//               Make this work with doubles, BigInteger, or ...
//               Format double results with DecimalFormat
//               Add keyboard listener.
//               Change to RPN (Reverse Polish Notation)

/** calc-ui-model/CalcGUI.java - A GUI for the calculator.
 * @author Fred Swartz
 * @version 2004-04-20 Rodenbach, 2007-02-11 minor changes.
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

///////////////////////////////////////////////////////////////////// class Calc
class Calc extends JFrame {
    //================================================================ constants
    private static final Font BIGGER_FONT = new Font("monspaced", Font.PLAIN, 20);
    
    //=================================================================== fields
    //... Component referenced during execution
    private JTextField _displayField;       // display result / input.
    
    //... Variables representing state of the calculator
    private boolean   _startNumber = true;      // true: num key next
    private String    _previousOp  = "=";       // previous operation
    private CalcLogic _logic = new CalcLogic(); // The internal calculator.
    
    //============================================================== method main
    public static void main(String[] args) {
        //... Set the Look and Feel to that of system we're running on.
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception unused) {
            ; // Ignore exception because we can't do anything.  Will use default.
        }
        
        //... Create the window.
        Calc window = new Calc();
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setVisible(true);
    }
    
    //============================================================== constructor
    public Calc() {
        //... Set attributes of the display field
        _displayField = new JTextField("0", 12);
        _displayField.setHorizontalAlignment(JTextField.RIGHT);
        _displayField.setFont(BIGGER_FONT);
        
        //... Create and set attributes of clear button
        JButton clearButton = new JButton("Clear");
        clearButton.setFont(BIGGER_FONT);
        clearButton.addActionListener(new ClearListener());
        
        //... Use one listener for all numeric keys.
        ActionListener numListener = new NumListener();
        
        //... Layout numeric keys in a grid.  Generate the buttons
        //    in a loop from the chars in a string.
        String buttonOrder = "789456123 0 ";
        JPanel buttonPanel = new JPanel();
        buttonPanel.setLayout(new GridLayout(5, 3, 2, 2));
        for (int i = 0; i < buttonOrder.length(); i++) {
            String keyTop = buttonOrder.substring(i, i+1);
            JButton b = new JButton(keyTop);
            if (keyTop.equals(" ")) {
                //... Put a dummy button in this position.
                b.setEnabled(false);
            } else {
                //... Put a digit button in the interface.
                b.addActionListener(numListener);
                b.setFont(BIGGER_FONT);
            }
            buttonPanel.add(b);
        }
        
        //... One ActionListener to use for all operator buttons.
        ActionListener opListener = new OpListener();
        
        //... Create panel with gridlayout to hold operator buttons.
        //    Use array of button names to create buttons in a loop.
        JPanel opPanel = new JPanel();
        opPanel.setLayout(new GridLayout(5, 1, 2, 2));
        String[] opOrder = {"+", "-", "*", "/", "="};
        for (int i = 0; i < opOrder.length; i++) {
            JButton b = new JButton(opOrder[i]);
            b.addActionListener(opListener);
            b.setFont(BIGGER_FONT);
            opPanel.add(b);
        }
        
        //... Put Clear button in flow layout to keep from expanding.
        JPanel clearPanel = new JPanel();
        clearPanel.setLayout(new FlowLayout());
        clearPanel.add(clearButton);
        
        //... Layout the top-level content panel.
        JPanel content = new JPanel();
        content.setLayout(new BorderLayout(5, 5));
        content.add(_displayField, BorderLayout.NORTH );
        content.add(buttonPanel   , BorderLayout.CENTER);
        content.add(opPanel       , BorderLayout.EAST  );
        content.add(clearPanel    , BorderLayout.SOUTH );
        
        content.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
        
        //... Finish building the window (JFrame)
        this.setContentPane(content);
        this.pack();
        this.setTitle("Simple Calc");
        this.setResizable(false);
        this.set********RelativeTo(null);
    }//end constructor
    
    
    //============================================================== actionClear
    /** Called by Clear btn action listener and elsewhere.*/
    private void actionClear() {
        _startNumber = true;         // Expecting number, not op.
        _displayField.setText("0");
        _previousOp  = "=";
        _logic.setTotal("0");
    }
    
    //////////////////////////////////////////// inner listener class OpListener
    /** Listener for all op buttons. */
    class OpListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            // The calculator is always in one of two states.
            // 1. A number must be entered -- an operator is wrong.
            // 2. An operator must be entered.
            if (_startNumber) { // Error: needed number, not operator
                //... In this state we're expecting a number, but got an operator.
                actionClear();
                _displayField.setText("ERROR - No operator");
            } else {
                //... We're expecting an operator.
                _startNumber = true;  // Next thing must be a number
                try {
                    // Get value from display field, convert, do prev op
                    // If this is the first op, _previousOp will be =.
                    String displayText = _displayField.getText();
                    
                    if (_previousOp.equals("=")) {
                        _logic.setTotal(displayText);
                    } else if (_previousOp.equals("+")) {
                        _logic.add(displayText);
                    } else if (_previousOp.equals("-")) {
                        _logic.subtract(displayText);
                    } else if (_previousOp.equals("*")) {
                        _logic.multiply(displayText);
                    } else if (_previousOp.equals("/")) {
                        _logic.divide(displayText);
                    }
                    
                    _displayField.setText("" + _logic.getTotalString());
                    
                } catch (NumberFormatException ex) {
                    actionClear();
                    _displayField.setText("Error");
                }
                
                //... set _previousOp for the next operator.
                _previousOp = e.getActionCommand();
            }//endif _startNumber
        }//endmethod
    }//end class
    
    
    //////////////////////////////////// inner listener class ClearListener
    /** Action listener for numeric keys */
    class NumListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            String digit = e.getActionCommand(); // Get text from button
            if (_startNumber) {
                //... This is the first digit, clear field and set
                _displayField.setText(digit);
                _startNumber = false;
            } else {
                //... Add this digit to the end of the display field
                _displayField.setText(_displayField.getText() + digit);
            }
        }
    }
    
    
    //////////////////////////////////// inner listener class ClearListener
    class ClearListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            actionClear();
        }
    }
}
 

Eski13-05-2010, 20:05   #6
RebelFire
 
Java'da Hesap Makinesi Yapımı - RebelFire

Arkadaşlar, Yardımlarınız İçin Hepinize Teşekkür Ederim Ama Son Birşeye İhtiyacım Var. Ben Daha Lise 2 Ye Gidiyorum. Bir Anlaşmazlık Sonucu(hocayla Tartıştık) Hocamız Bize Bu Ödevi Verdi. Hiç Birşey Bilmiyoruz. Yarın Son Gün. Ben Bu Kodları Nereye Yazacağım. Netbeani ve jdk yı İndirdim. Ama Kodları Nereye Yazacağımı Bulamadım. Yardımlarınız İçin Şimdiden Çok Teşekkürler.
 

Eski13-05-2010, 20:33   #7
stalkert
 
Java'da Hesap Makinesi Yapımı - stalkert

Arkadaşlar Bende Rebelfire'yle Aynı Sınıftayım gerçekten Bİr yardıma ihtiyacım var nasıl yapılacağı konusunda hiç bir fikrim yok
 

Eski15-05-2010, 15:39   #8
zige
 
Java'da Hesap Makinesi Yapımı - zige

BorderLiNe' nın vermiş olduğu kodlar intermediate level durumunda
yeni başlayan birinin imkanı yok anlayamaz
RebelFire pm atsaydın yardımcı olabilirdim neyse artık
 

Eski16-05-2010, 18:23   #9
RebelFire
 
Java'da Hesap Makinesi Yapımı - RebelFire

Alıntı:
Orjinal Mesaj Sahibi zige Mesajı Göster
BorderLiNe' nın vermiş olduğu kodlar intermediate level durumunda
yeni başlayan birinin imkanı yok anlayamaz
RebelFire pm atsaydın yardımcı olabilirdim neyse artık
Yinede Çok Teşekkürler. Hoca Zaten Bizi Denemek İçin Yapmış. Yapamıyacağınızı Bilyordum Dedi Programlama Konularına İlgim Var. Şu Sene Bitsin Hayırlısıyla Bir Karne Alıyım Başlamak İstiyorum Java'ya. Takıldığım Bir Yer Olursa Sormamın Bir Sakıncası Yoktur Umarım. Java Bölümü Çok Düzensiz Aslında. Merak Edipte Başlamaya Çalışan Biri Bilgi Bulabilmek Yerine Birazcık Şaşırıyor.
 

Eski17-05-2010, 23:09   #10
zige
 
Java'da Hesap Makinesi Yapımı - zige

Alıntı:
Orjinal Mesaj Sahibi RebelFire Mesajı Göster
Yinede Çok Teşekkürler. Hoca Zaten Bizi Denemek İçin Yapmış. Yapamıyacağınızı Bilyordum Dedi Programlama Konularına İlgim Var. Şu Sene Bitsin Hayırlısıyla Bir Karne Alıyım Başlamak İstiyorum Java'ya. Takıldığım Bir Yer Olursa Sormamın Bir Sakıncası Yoktur Umarım. Java Bölümü Çok Düzensiz Aslında. Merak Edipte Başlamaya Çalışan Biri Bilgi Bulabilmek Yerine Birazcık Şaşırıyor.
hiçbir sakıncası olmaz; bilgim dahilinde yardımcı olurum (tabii online olduğum zamanlarda, pek fazla giremiyorum bu aralar wardom'a).
başlangıç için kaynak gerekirse tavsiyede de bulunabilirim istersen
ingilizcen iyiyse çok daha rahat kavrarsın programlamayı çünkü birçok kaynak (iyi olanlar) ingilizce.
 

Cevapla





Şu Anda Konuyu Görüntüleyenler: 1 (0 üye ve 1 misafir)
 

Forum saati Türkiye saatine göredir. GMT +2. Şuan saat: 12:12.
(Türkiye için GMT +2 seçilmelidir.)



pvp serverler, ukash, Maç Özetleri, diğer yarım son bölüm, kırmızı shop, dövme, kız oyunları


İçerik sağlayıcı paylaşım sitelerinden biri olan Wardom Internet Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Wardom hakkında yapılacak tüm hukuksal şikayetler için webmaster \@wardom.org adresi ile iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 (üç) gün içerisinde Wardom yönetimi olarak tarafımızca gereken işlemler yapılacak ve avukatlarımız size dönüş yapacaktır.