728x90

한 클래스 파일에 계산기 만들기

몫을 소수점 2번째 자리까지 받기위해서 String.format을 사용

package variable;

public class CalcaTest {
	public static void main(String[] args) {
		short a = 320;
		short b = 258;
		int sum = a + b;
		int sub = a - b;
		int mul = a * b;
		double div = a / b;
		
		System.out.println(a + " + "+b+" = "+sum);
		System.out.println(a + " - "+b+" = "+sub);
		System.out.println(a + " * "+b+" = "+mul);
		System.out.println(a + " / "+b+" = "+String.format("%.2f", div));
		
320 + 258 = 578
320 - 258 = 62
320 * 258 = 82560
320 / 258 = 1.00

String.format(" ", 값(정수,실수));
정수나 실수를 ""의 조건에 맞춰서 string 타입으로 변환시켜 출력하는 메소드


한 클래스 파일에 메소드를 만들어 계산기 만들기

출력값을 받기위해 알맞은 int, double을 사용

package method;

public class MethodTeat3 {
	public int plus(int a, int b) {
		return a + b;
	}

	public int minus(int a, int b) {
		return a - b;
	}

	public int multiply(int a, int b) {
		return a * b;
	}

	public double division(int a, int b) { //받는값은 정수니깐 int, 결과값은 소수점을 나타내야 하니깐 double
		return (double) a / b; //강제 형변환/ 자동 형변환
	}

	public static void main(String[] args) {
		MethodTeat3 mt = new MethodTeat3();
		System.out.println("합 = " + mt.plus(25, 36));
		System.out.println("차 = " + mt.minus(25, 36));
		System.out.println("곱 = " + mt.multiply(25, 36));
		System.out.println("몫 = " + mt.division(25, 36));
		System.out.println("몫 = " + String.format("%.2f", mt.division(25, 36)));
	}

}
합 = 61
차 = -11
곱 = 900
몫 = 0.6944444444444444
몫 = 0.69

switch를 이용한 계산기

package method;

import java.util.Scanner;

public class Calcuator {
	public static void main(String[] args) {
		
	
	Scanner sc = new Scanner(System.in);
	int num1 =0, num2 =0;
	int choice = 0;
	String menuMsg = "1.계산하기\n2.나가기";
	String oper="";
	String result = "";
	
	
	while(true) {
		System.out.println(menuMsg);
		choice = sc.nextInt();
		if(choice == 2)break;
		if(choice != 1)continue;
		
		System.out.println("첫번째 정수입력");
		num1 = Integer.parseInt(sc.next());
		System.out.println("연산입력");
		oper = sc.next();
		System.out.println("두번째 정수입력");
		num2 = Integer.parseInt(sc.next());
		
		switch(oper) {
		case "+":
			result = ""+(num1+num2);
			break;
		case "-":
			result = ""+(num1-num2);
			break;
		case "*":
			result = ""+(num1*num2);
			break;
		case "/":
			if(num2 !=0 ) {
				result = ""+(num1/num2);
			}else {
				result = "0으로 나눌 수 없습니다.";
			}
			break;
			default:
				result="사칙연산 외의 연산자를 사용할 수 없습니다.";
		}
		System.out.println(result);
	}
	

}

}
728x90

'JAVA' 카테고리의 다른 글

삼항 연산자 연습  (0) 2020.09.04
10진수를 2,8,16진수로 변환하는 법  (0) 2020.09.03
클래스 static  (0) 2020.09.03
[오류]Syntax error on token "class", @ expected  (0) 2020.08.31
클래스와 변수  (0) 2020.08.31

+ Recent posts