우선 구글링 해서 만들어보긴했는데 나머지는 이해가 됩니다.
그런데 String op, in;을 하고
연산자 입력 후 in=\" \"; 들어가는데
in += e.getActionCommand();
   System.out.println(in);
   way.setText(in);
   save = Integer.parseInt(in);
여기에도 들어가는데
이런 부분에서 in이 무슨역할인지 알려주세요.
그리고 in += e.getActionCommand();도 무슨 이유때문에 있어야되는거죠??

밑에 코드




import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame implements ActionListener{
JTextField way;
int num1, save, result;
String op, in;
boolean finish = false;

JButton num[] = new JButton[16];

@Override
public void actionPerformed(ActionEvent e) {
  String input = e.getActionCommand();
  if(input.equals(\"+\")) {
   num1 = save;
   op = \"+\";
   in =\"\";
  }else if(input.equals(\"-\")) {
   num1 = save;
   op = \"-\";
   in = \"\";
  }else if(input.equals(\"*\")) {
   num1 = save;
   op = \"*\";
  }else if(input.equals(\"/\")) {
   num1 = save;
   op = \"/\";
   in = \"\";
  }else if(input.equals(\"C\")) {
   num1 = 0;
   save = 0;
   way.setText(\"\");
   in = \"\";
  }else if(input.equals(\"=\")) {
   if(op.equals(\"+\")) {
    result = num1 + save;
    way.setText(String.valueOf(result));
    finish = true;
    
   }else if(op.equals(\"-\")) {
    result = num1 - save;
    way.setText(String.valueOf(result));
    finish = true;
   }else if(op.equals(\"*\")) {
    result = num1 * save;
    way.setText(String.valueOf(result));
    finish =true;
   }else if(op.equals(\"/\")) {
    result = num1 / save;
    finish = true;
   }
  }
  else {
   if(finish) {
    way.setText(\"0\");
    finish = false;
    save = 0;
    num1 = 0;
    in = \"\";
   }
   in += e.getActionCommand();
   System.out.println(in);
   way.setText(in);
   save = Integer.parseInt(in);
  }
}

public Calculator() {
  super(\"계산기\");
  setLayout(new BorderLayout());
  setDefaultCloseOperation(EXIT_ON_CLOSE);
  setSize(300,400);
  way = new JTextField(\"\",15);
  JPanel p1 = new JPanel();
  JPanel p2 = new JPanel();
  
  p1.add(way);
  
  p2.setLayout(new GridLayout(4,4,10,10));
  String button[] = {\"1\",\"2\",\"3\",\"*\",\"4\",\"5\",\"6\",\"/\",\"7\",\"8\",\"9\",\"+\",\"C\",\"0\",\"=\",\"-\"};
  for(int i=0;i<=15;i++) {
   num[i] = new JButton(button[i]);
   p2.add(num[i]);
   num[i].addActionListener(this);
  }
  add(p1,BorderLayout.NORTH);
  add(p2,BorderLayout.CENTER);
  setVisible(true);
}
public static void main(String[] args) {
  new Calculator();
}
}