--- 내코드
import java.util.Scanner;
//클래스 필드 생성자 메소드 오버로딩
//계싼기 객체 계산기 쓸 수 있는 환경
public class testday4 {
// 필드 초기화 : 사용할 변수들
private int num1, num2;
private char op;
public testday4() { } // 디폴트 생성자
public testday4(int a, char b, int c) {
num1 = a;
op = b;
num2 = c;
}
// 데이터 변수 입력은 메소드
public void setA(int data) {
num1 = data;
}
public void setB(char data) {
op = data;
}
public void setC(int data) {
num2 = data;
}
public int getA() {
return num1;
}
public char getB() {
return op;
}
public int getC() {
return num2;
}
// 연산 메소드
public int add() { // 더하기
System.out.print(num1+" + "+num2+" = ");
return num1+num2;
}
public int sub() { // 빼기
System.out.print(num1+" - "+num2+" = ");
return num1-num2;
}
public int mul() { // 곱
System.out.print(num1+" * "+num2+" = ");
return num1*num2;
}
public float div() { // 나눔
System.out.print(num1+" / "+num2+" = ");
return (float)num1/num2;
}
public static void main(String[] args) {
char str;
testday4 ce = new testday4(); // 생성자 객체 생성
Scanner sc = new Scanner(System.in);
System.out.println("사칙연산계산기");
System.out.println("ex) 1 + 2 enter >> ");
System.out.print("계산 입력 : ");
do {
ce.setA(sc.nextInt());
ce.setB(sc.next().charAt(0));
ce.setC(sc.nextInt());
if (ce.getB() == '+'){
System.out.println(ce.add());
}
else if(ce.getB() == '-'){
System.out.println(ce.sub());
}
else if(ce.getB() == '*'){
System.out.println(ce.mul());
}
else if(ce.getB() == '%'){
System.out.println(ce.div());
}
System.out.println();
System.out.print("Continue?(y/n) : ");
str = sc.next().charAt(0);
if(str == 'n' || str == 'N') {
System.out.println("End");
break;
}
}while(str == 'y' || str == 'Y');
}
}
--- 강사님 코드
import java.util.Scanner;
public class teacherday4 {
private int num1, num2;
private char op;
private float result;
public teacherday4(){
}
public teacherday4(int a, char b, int c) {
num1 = a;
op = b;
num2 = c;
}
public void setA(int data) {
num1 = data;
}
public void setB(char data) {
op = data;
}
public void setC(int data) {
num2 = data;
}
public int getA() {
return num1;
}
public char getB() {
return op;
}
public int getC() {
return num2;
}
// 오버로딩
public float plus() {
return result = num1+num2;
}
// public float plus(int n1, int n2) {
// setA(n1);
// setC(n2);
// return result = n1+n2;
// }
public float minus() {
return result = num1-num2;
}
public float mul() {
return result = num1*num2;
}
public float div() {
return result = num1/num2;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
teacherday4 ca = new teacherday4();
int num = sc.nextInt();
ca.setA(num);
ca.setB(sc.next().charAt(0));
ca.setC(sc.nextInt());
switch(ca.getB()) {
case '+' : System.out.println(ca.getA()+""+ca.getB()+""+ca.getC()+"="+ca.plus());
break;
case '-' : System.out.println(ca.getA()+""+ca.getB()+""+ca.getC()+"="+ca.minus());
break;
case '*' : System.out.println(ca.getA()+""+ca.getB()+""+ca.getC()+"="+ca.mul());
break;
case '/' : System.out.println(ca.getA()+""+ca.getB()+""+ca.getC()+"="+ca.div());
break;
}
}
}
--- 복습코드
import java.util.Scanner;
//클래스 필드 생성자 메소드 오버로딩
//계싼기 객체 계산기 쓸 수 있는 환경
//생성자를 이용한 사칙연산계산기
public class OperNew {
// 필드 초기화 : 사용할 변수들
private int num1, num2;
private char op;
public OperNew() { } // 디폴트 생성자
public OperNew(int a, char b, int c) {
this.num1 = a;
this.op = b;
this.num2 = c;
}
public int getA() {
return num1;
}
public char getB() {
return op;
}
public int getC() {
return num2;
}
public int add() { // 더하기
System.out.print(getA()+" + "+getC()+" = ");
return getA()+getC();
}
public int sub() { // 빼기
System.out.print(getA()+" - "+getC()+" = ");
return getA()-getC();
}
public int mul() { // 곱
System.out.print(getA()+" * "+getC()+" = ");
return getA()*getC();
}
public float div() { // 나눔
System.out.print(getA()+" / "+getC()+" = ");
return (float)getA()/getC();
}
public static void main(String[] args) {
int num1, num2;
char op, str;
Scanner sc = new Scanner(System.in);
do {
System.out.println("연산 수식 입력 : ");
num1 = sc.nextInt();
op = sc.next().charAt(0);
num2 = sc.nextInt();
OperNew ce = new OperNew(num1, op, num2); // 생성자 객체 생성
switch(ce.getB()) {
case '+' :
System.out.println(ce.add());break;
case '-' :
System.out.println(ce.sub());break;
case '*' :
System.out.println(ce.mul());break;
case '/' :
System.out.println(ce.div());break;
}
System.out.println();
System.out.print("Continue?(y/n) : ");
str = sc.next().charAt(0);
if(str == 'n' || str == 'N') {
System.out.println("End");
break;
}
}while(str == 'y' || str == 'Y');
}
}
반응형
'자바과정 > Java' 카테고리의 다른 글
Java 기초 - 5일차 (0) | 2021.02.03 |
---|---|
Java 실습(한사람 성적처리:메소드, 생성자) - 4일차 (0) | 2021.02.02 |
Java 기초 - 4일차 (0) | 2021.02.02 |
Java 실습(성적처리프로그램:함수2) - 3일차 (0) | 2021.02.02 |
Java 실습(성적처리프로그램:함수1) - 3일차 (0) | 2021.02.02 |
댓글