public class Add {
public static void main(String[] args) throws Exception {
int a, b;
System.out.print(\"0~9를 입력하세요 : \");
a = System.in.read();
b = System.in.read();
System.out.println(\"a+b = \" + ( (a-48) + (b-48) ) );
System.out.println(\"a-b = \" + ( (a-48) - (b-48) ) );
System.out.println(\"a*b = \" + ( (a-48) * (b-48) ) );
System.out.println(\"a/b = \" + ( (a-48) / (b-48) ) );
}
}
첨숫자는 제대로 먹히는데 뒤에숫자는 이상하게되네??
System.in은 InputStream이고, api를 읽어보면 read()는 스트림의 다음 바이트를 읽어오쟎아. 근데 엔터를 치면 엔터의 바이트가 읽어지게 되지. 바로 b에 말야.
아 그러니까 엔터키를 집어넣어버려서 문제야? 그럼그걸 어떻게 처리해야돼? 그냥 변수하나 더만들어서 ?
그래서 read()해 준 다음에 바로 다시 read()하지 말고 reset()을 해주면 커서가 마지막으로 옮겨가서 엔터값을 건너뛸 수 있지.
하지만.. 이렇게 사용하는건 별로 좋지 않아 보이고 자바1.5이상을 쓰면 java.util.Scanner를 쓰는게 좋아보임.
Scanner s = new Scanner(System.in); a = s.nextInt(); 이런식으로 쓰면 됨.
자세한건 api읽어보시고.
아하 형들고마워
나 혼자야.. --;