| $Zero |
이렇게 다 풀어드리면.. 공부에 도움 안되는데.. 전혀 갈피를 못잡으시는 거 같아 마지막으로 한번 더 코드 써드립니다..
제가 쓴 코드는 향후 변형에대해 전혀 신경쓰지 않은 코드입니다. (2개이상의 연산자를 입력할 경우, 나누기에서 소수점 표시 등등)
이런 부분들은 직접 생각하고 고쳐보세요 . 그래야 공부가 되요.. 안풀리면 책을 다시한번 보고 , 더보고 다시 풀어보고 그런식으로 하셔야합니다~~
계산기능 및 초기화기능 추가한거에요.
import java.awt.event.*;
import javax.swing.*;
class CalculatorTest extends JFrame{
private JButton button1, button2,button3,button4,button5;
private JButton button6,button7,button8,button9,button10;
private JButton button11,button12,button13,button14,button15;
private JButton button16;
private JTextField t,t1;
private String operator = new String("");
private int save = 0;
private int save2 = 0;
char oper;
public CalculatorTest(){
this.setSize(500,500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("계산기");
JPanel panel = new JPanel();
JLabel label = new JLabel("결과 = ");
t = new JTextField(40);
t1 = new JTextField(30);
button1 = new JButton("C");
button2 = new JButton("1");
button3 = new JButton("2");
button4 = new JButton("3");
button5 = new JButton("4");
button6 = new JButton("5");
button7 = new JButton("6");
button8 = new JButton("7");
button9 = new JButton("8");
button10 = new JButton("9");
button11 = new JButton("0");
button12 = new JButton("+");
button13 = new JButton("-");
button14 = new JButton("/");
button15 = new JButton("*");
button16 = new JButton("=");
button1.addActionListener(new MyListener());
button2.addActionListener(new MyListener());
button3.addActionListener(new MyListener());
button4.addActionListener(new MyListener());
button5.addActionListener(new MyListener());
button6.addActionListener(new MyListener());
button7.addActionListener(new MyListener());
button8.addActionListener(new MyListener());
button9.addActionListener(new MyListener());
button10.addActionListener(new MyListener());
button11.addActionListener(new MyListener());
button12.addActionListener(new MyListener());
button13.addActionListener(new MyListener());
button14.addActionListener(new MyListener());
button15.addActionListener(new MyListener());
button16.addActionListener(new MyListener());
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
panel.add(button5);
panel.add(button6);
panel.add(button7);
panel.add(button8);
panel.add(button9);
panel.add(button10);
panel.add(button11);
panel.add(button12);
panel.add(button13);
panel.add(button14);
panel.add(button15);
panel.add(button16);
panel.add(t);
panel.add(label);
panel.add(t1);
this.add(panel);
this.setVisible(true);
}
private class MyListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource() == button1){
save = 0;
operator = "";
save2 = 0;
t.setText("취소");
t1.setText("");
}
else if(e.getSource() == button2){
operator += "1";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
else if(e.getSource() == button3){
operator += "2";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
else if(e.getSource() == button4){
operator += "3";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
else if(e.getSource() == button5){
operator += "4";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
if(e.getSource() == button6){
operator += "5";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
if(e.getSource() == button7){
operator += "6";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
if(e.getSource() == button8){
operator += "7";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
if(e.getSource() == button9){
operator += "8";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
if(e.getSource() == button10){
operator += "9";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
if(e.getSource() == button11){
operator += "0";
if(save != 0)
save2 = Integer.parseInt(operator);
t.setText(operator);
}
if(e.getSource() == button12){
save = Integer.parseInt(operator);
operator = "";
oper = '+';
t.setText("+");
}
if(e.getSource() == button13){
save = Integer.parseInt(operator);
operator = "";
oper = '-';
t.setText("ㅡ");
}
if(e.getSource() == button14){
save = Integer.parseInt(operator);
operator = "";
oper = '/';
t.setText("/");
}
if(e.getSource() == button15){
save = Integer.parseInt(operator);
operator = "";
oper = '*';
t.setText("*");
}
if(e.getSource() == button16){
switch(oper){
case '+' :
t1.setText("" + (save + save2));
break;
case '-' :
t1.setText("" + (save - save2));
break;
case '/' :
t1.setText("" + (save / save2));
break;
case '*' :
t1.setText("" + (save * save2));
break;
}
}
}
}
}
public class Calculator{
public static void main(String[] args){
CalculatorTest c = new CalculatorTest();
}
} |
2011/06/05 |
|