Java 정수 사칙연산 프로그램

package wed160601; 
 
import javax.swing.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
 
/** 
 * Created on 2016-06-01. 
 */ 
public class fourcal extends JFrame { 
    private JTextField tf1 = new JTextField(5); 
    private JTextField tf2 = new JTextField(5); 
    private JComboBox combo = new JComboBox(); 
    private JButton button = new JButton("="); 
    private JTextField resulttf = new JTextField(5); 
    private JTextField status = new JTextField(25); 
    private JPanel panel = new JPanel(); 
 
    private fourcal() { 
        this.setSize(350,150); 
        this.setTitle("정수 4칙연산 프로그램"); 
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        panel.add(tf1); //첫번째 값이 들어갈 텍스트필드 
        combo.addItem("+"); 
        combo.addItem("-"); 
        combo.addItem("*"); 
        combo.addItem("/"); 
        panel.add(combo); //사칙연산 콤보박스 
        panel.add(tf2); //두번째 값 
 
        button.addActionListener(new ActionListener() { 
            @Override 
            public void actionPerformed(ActionEvent e) { 
                try { //시도!!! 
                    String flag = (String)combo.getSelectedItem(); 
                    //flag String은 콤보박스에서 현재 선택된 아이템을 저장하고있다! 
                    // 5 + 3 하고 버튼을 누른다면 
                    // +를 갖고있는 셈! 
                    int first = Integer.parseInt(tf1.getText()); 
                    int second = Integer.parseInt(tf2.getText()); 
                    int result = 0; 
                    double doubleresult = 0; 
                    double doublefirst = 0; 
                    double doublesecond = 0; 
                    //나눗셈 할 때만 사용할 것. 
                    String str; 
                    switch (flag) { 
                        case "+": 
                            result = first + second; 
                            break; 
                        case "-": 
                            result = first - second; 
                            break; 
                        case "*": 
                            result = first * second; 
                            break; 
                        case "/": //이 부분은 트릭이다! 
                            result = first / second; 
                            //원래는 이런식으로 나눗셈하면 안 됨!!!! 
                            break; 
                        default: 
                            result = 0; 
                            break; 
                    } 
                    if(!flag.equals("/")) { //사칙연산이 나누기가 아니라면? 
                        str = Integer.toString(result); 
                    } 
                    else { 
                        //나누기라면? 
                        doublefirst = Double.parseDouble(tf1.getText()); 
                        doublesecond = Double.parseDouble(tf2.getText()); 
                        doubleresult = doublefirst / doublesecond; 
                        str = Double.toString(doubleresult); 
                    } 
                    resulttf.setText(str); 
                    status.setText("정수 사칙연산 계산 완료."); 
                } 
 
                catch (NumberFormatException nfe) { //NumberFormatException시!! 
                    status.setText("정수만 입력하시오!"); 
                    resulttf.setText(""); //status TextField를 따로 지정하고 사칙연산 결과 TexfField를 공백으로 바꾼다. 
                } 
                catch (ArithmeticException ae) { //0으로 나눌시!! 
                    status.setText("0으론 못나눈다!!"); 
                    resulttf.setText("");  //마찬가지. 
                } 
 
            } 
        }); 
 
        panel.add(button); 
        resulttf.setEditable(false); 
        panel.add(resulttf); 
        status.setEditable(false); 
        panel.add(status); 
 
 
        this.add(panel); 
        this.setVisible(true); 
    } 
 
    public static void main(String[] args) { 
        new fourcal(); 
    } 
}