[Java] κ°„λ‹¨ν•œ 사칙 μ—°μ‚° 계산기에 클래슀, λ©”μ„œλ“œ ν™œμš©ν•΄λ³΄κΈ° ✍️

2024. 12. 5. 10:45Β·Java

객체지ν–₯μ–Έμ–΄ Java λ¬Έλ²•μ—μ„œ 클래슀, λ©”μ„œλ“œλ₯Ό κ³΅λΆ€ν•˜λŠ” 쀑

μ•„λž˜μ™€ 같은 μ½”λ“œλ₯Ό λ‚˜λ¦„ ν΄λž˜μŠ€μ™€ λ©”μ„œλ“œλ₯Ό ν™œμš©ν•΄ 정리해보고 싢은 μš•κ΅¬κ°€ 생겼닀. 🧐

 

μ΄μ œμ™€μ„œ λ³΄λ‹ˆ ꡳ이 μ•ˆν•΄λ„ λ˜λŠ” 사칙 μ—°μ‚°μž 클래슀둜 보이기도 ν•˜μ§€λ§Œ, 

ꡳ이 ν•΄μ„œλΌλ„ 클래슀, λ©”μ„œλ“œμ— λŒ€ν•œ 이해λ₯Ό ν•˜κ³ μž ν–ˆμœΌλ‹ˆ 참고만 λ°”λž€λ‹€. πŸ˜… πŸ˜…


1. 기쑴에 μž‘μ„±ν•œ μ½”λ“œ ( 클래슀, λ©”μ„œλ“œ ν™œμš© x )

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// Scanner μΈμŠ€ν„΄μŠ€ 생성
		Scanner sc = new Scanner(System.in);

		double a; // 첫 번째 κ°’
		double b; // 두 번째 κ°’
		char c; // 사칙 μ—°μ‚°μž

		// 첫 번째 κ°’ μž…λ ₯ λ°›κΈ°
		System.out.print("첫번째 숫자 μž…λ ₯>");
		a = sc.nextDouble();

		// 사칙 μ—°μ‚°μž μž…λ ₯ λ°›κΈ°
		System.out.print("사칙연산 μž…λ ₯ :");
		c = sc.next().charAt(0); // 문자둜 λ°›κΈ°

		// 두 번째 κ°’ μž…λ ₯ λ°›κΈ°
		System.out.print("λ‘λ²ˆμ§Έ 숫자 μž…λ ₯>");
		b = sc.nextDouble();

		// μž…λ ₯된 λ¬Έμžκ°€ '+' 이면 a + b 좜λ ₯
		if (c == '+') {
			System.out.println(a + b);
		}
		// μž…λ ₯된 λ¬Έμžκ°€ '-' 이면 a - b 좜λ ₯
		else if (c == '-') {
			System.out.println(a - b);
		}
		// μž…λ ₯된 λ¬Έμžκ°€ '*' 이면 a * b 좜λ ₯
		else if (c == '*') {
			System.out.println(a * b);
		}
		// μž…λ ₯된 λ¬Έμžκ°€ '/' 이면 a / b 좜λ ₯
		else if (c == '/') {
			System.out.println(a - b);
		} else {
			System.out.println("잘λͺ»λœ 사칙연산 μž…λ‹ˆλ‹€(+-*/ 쀑 μž…λ ₯)");
		}

	}

 

정말 κ°„λ‹¨ν•œ μ½”λ“œμΌ 수 μžˆλ‹€.

그런데 ꡳ이 μ•„λž˜μ™€ 같이 클래슀, λ©”μ„œλ“œλ₯Ό 생성해 μ μš©ν–ˆλ‹€.

 

Calculator νŒ¨ν‚€μ§€ μ•ˆμ—μ„œ Main, InputNum, Mymath 각 각 ν•˜λ‚˜μ˜ μ†ŒμŠ€ μ½”λ“œλ₯Ό μž‘μ„±ν–ˆλ‹€.

 

2. 클래슀, λ©”μ„œλ“œλ₯Ό 생성 ν›„ 적용 μ½”λ“œ

package Calculator;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//num μ°Έμ‘° λ³€μˆ˜λ‘œ InputNum 클래슀둜 λΆ€ν„° μΈμŠ€ν„΄μŠ€ν™”
		InputNum num = new InputNum();
		
		//print λ©”μ„œλ“œ 호좜
		num.print();
		
		//InputNum 클래슀둜 λΆ€ν„° μž…λ ₯받은 a,b,cλ₯Ό main μ§€μ—­λ³€μˆ˜λ‘œ λŒ€μž…
		double a = num.a;
		double b = num.b;
		char c = num.c;

		//mm μ°Έμ‘° λ³€μˆ˜λ‘œ Mymath 클래슀둜 λΆ€ν„° μΈμŠ€ν„΄μŠ€ν™”
		Mymath mm = new Mymath();

		
		if (c == '+') {
			System.out.println(mm.add(a, b)); // Mymath 클래슀 μ•ˆμ˜ addλ©”μ„œλ“œ 호좜
		} else if (c == '-') {
			System.out.println(mm.subtract(a, b));
		} else if (c == '*') {
			System.out.println(mm.multiply(a, b));
		} else if (c == '/') {
			System.out.println(mm.divide(a, b));
		} else {
			System.out.println("잘λͺ»λœ 사칙연산 μž…λ ₯μž…λ‹ˆλ‹€.");
		}
	}

}
package Calculator;

//사칙연산 섀계도 Mymath 클래슀 생성
public class Mymath {
	// μž…λ ₯값을 λ”ν•˜λŠ”(+) add λ©”μ„œλ“œ
	double add(double a, double b) {
		return a + b;
	}
	// μž…λ ₯값을 λΉΌλŠ”(-) subtract λ©”μ„œλ“œ
	double subtract(double a, double b) {
		return a - b;
	}
	// μž…λ ₯값을 κ³±ν•˜λŠ”(*) multiply λ©”μ„œλ“œ
	double multiply(double a, double b) {
		return a * b;
	}
	// μž…λ ₯값을 λ‚˜λˆ„λŠ”(-) divide λ©”μ„œλ“œ
	double divide(double a, double b) {
		return a / b;
	}
}

 

package Calculator;

import java.util.Scanner;

// μž…λ ₯섀계도 InputNum 클래슀 생성
public class InputNum {
	Scanner sc = new Scanner(System.in);

	double a;
	double b;
	char c;

	void print() {
		System.out.print("첫 번째 숫자 μž…λ ₯>");
		a = sc.nextDouble();
		System.out.print("사칙연산 μž…λ ₯>");
		c = sc.next().charAt(0);
		System.out.print("두 번째 숫자 μž…λ ₯>");
		b = sc.nextDouble();
	}
}

 

1, 2번 μ½”λ“œ λͺ¨λ“œ λ˜‘κ°™μ€ κ²°κ³Όκ°€ λ‚˜μ˜¨λ‹€.

첫 번째 숫자 μž…λ ₯>5

사칙연산 μž…λ ₯>+

두 번째 숫자 μž…λ ₯>5

10.0

 

πŸ’‘  객체지ν–₯μ–Έμ–΄λ₯Ό μ΄ν•΄ν•˜κ³  ν™œμš©ν•˜κ³ μž λ…Έλ ₯ν–ˆλ‹€.

많이 해보고 λ§Œλ“€μ–΄λ΄μ•Ό λŠλŠ”κ²ƒμ΄ 코딩이라고 μƒκ°ν•œλ‹€.

 

 

'Java' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Java] Lombok 라이브러리λ₯Ό μ‚¬μš©ν•œ JDBC ν”„λ‘œκ·Έλž˜λ°  (0) 2025.02.05
[Java] Java 개발 ν™˜κ²½ JDK 버전 λ³€κ²½ν•˜κΈ° πŸ€“  (1) 2025.01.16
[Java] λ°°μ—΄(Array) κ³Ό List, Set μΈν„°νŽ˜μ΄μŠ€ κ°„λ‹¨ν•œ 예제  (3) 2024.12.27
[Java] μƒμ„±μž(constructor) - μΈμŠ€ν„΄μŠ€ μ΄ˆκΈ°ν™”πŸ§  (0) 2024.12.06
[Java] μžλ°” μŠ€μΊλ„ˆ(Scanner) ν΄λž˜μŠ€μ™€ hasNext() / next() ν•¨μˆ˜ ✍️  (1) 2024.11.15
'Java' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Java] Java 개발 ν™˜κ²½ JDK 버전 λ³€κ²½ν•˜κΈ° πŸ€“
  • [Java] λ°°μ—΄(Array) κ³Ό List, Set μΈν„°νŽ˜μ΄μŠ€ κ°„λ‹¨ν•œ 예제
  • [Java] μƒμ„±μž(constructor) - μΈμŠ€ν„΄μŠ€ μ΄ˆκΈ°ν™”πŸ§
  • [Java] μžλ°” μŠ€μΊλ„ˆ(Scanner) ν΄λž˜μŠ€μ™€ hasNext() / next() ν•¨μˆ˜ ✍️
🌟 Sean 🌟
🌟 Sean 🌟
  • 🌟 Sean 🌟
    Road to Dev
    🌟 Sean 🌟
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기 (38)
      • Project (7)
      • Spring (3)
      • Java (7)
      • JSP&Servlet (3)
      • Framework (1)
      • DBMS (3)
        • OracleDB (3)
      • JavaScript (4)
      • HTML+CSS (7)
      • Git&GitHub (2)
      • WEB (1)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    jsp
    μžλ°”μŠ€ν¬λ¦½νŠΈ
    Database
    gradle
    frontend
    servlet
    css
    μžλ°”
    μ„œλ²„λ°°ν¬
    OracleDB
    html
    spring boot
    java
    Spring
    DBMS
    DB
    js
    docker
    μŠ€ν”„λ§λΆ€νŠΈ
    JavaScript
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.1
🌟 Sean 🌟
[Java] κ°„λ‹¨ν•œ 사칙 μ—°μ‚° 계산기에 클래슀, λ©”μ„œλ“œ ν™œμš©ν•΄λ³΄κΈ° ✍️
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”