[Java] 1-1 두 번째 수행평가

Haeun Noh·2022년 6월 29일
0

JAVA_수행평가 문제

목록 보기
2/2

0629


문제1.

입력받은 예금액이 1000,000원 이상이면 3%의 이자율, 1000,000원 미만이고 500,000원 이상이면 2.5%의 이자율, 500,000원 미만이면 2%의 이자율을 가질 때, 입력한 예금액의 이자액을 구하시오.

Ex) 실행결과 예시
예금액 입력:1500000
이자액 : 45000 원

예금액 입력:900000
이자액 : 22500 원

예금액 입력:500000
이자액 : 12500 원

예금액 입력:0
예금액이 있어야 이자금액을 계산할 수 있습니다.
이자액 : 0

문제 조건

  1. 예금액을 입력받을 것
  2. 이자액의 변수는 실수형일 것
  3. 예금액이 100만 원 이상이라면 이자율은 3%일 것
  4. 예금액이 100만 원 미만에 50만원 이상이라면 이자율은 2.5%일 것
  5. 예금액이 50만 원 미만이라면 이자율은 2%일 것
  6. 예금액이 0원일 경우 예금액이 있어야 이자금액을 계산할 수 있습니다.를 같이 출력할 것
  7. 이자액을 출력할 때에는 정수형으로 보이게 할 것

소스

import java.util.Scanner;
public class Ex1_1109 {
	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);

		System.out.print("예금액 입력:");
		int yegum = scan.nextInt();

		double eja = 0;
		if ( yegum >= 1000000 ) eja = yegum * 0.03;
		else if ( yegum >= 500000 ) eja = yegum * 0.025;
		else if ( yegum == 0 ) System.out.println("예금액이 있어야 이자금액을 계산할 수 있습니다.");
		else eja = yegum * 0.02;
		
		System.out.print("이자액 : "+(int)eja+" 원");
	}
}

소스 풀이

  1. 예금액을 입력받기 위해 Scanner scan 을 사용합니다.
  2. 입력받은 예금액을 int yegum에 저장합니다.
  3. 예금액이 100만원 이상이라면 eja에 예금액의 이자액(예금액 * 3%)을 저장합니다.
  4. 예금액이 100만 원 미만에 50만 원 이상이라면 eja에 예금액의 이자액(예금액 * 2.5%) 을 저장합니다.
  5. 예금액이 50만 원 미만이라면 eja에 예금액의 이자액(예금액 * 2%) 을 저장합니다.
  6. 예금액이 0원이라면 예금액이 있어야 이자금액을 계산할 수 있습니다.eja에 저장합니다.
  7. 이자액을 int형으로 바꿔 출력합니다.

출력 결과

Ex) 출력 결과 예시
예금액 입력:4800000
이자액 : 144000 원

예금액 입력:74000
이자액 : 1480 원

예금액 입력:23000000
이자액 : 690000 원

예금액 입력:0
예금액이 있어야 이자금액을 계산할 수 있습니다.
이자액 : 0


문제2.

for문을 이용하여 다음과 같이 별찍기를 완료하시오.

*
**
***
****
****
***
**
*

소스

public class Ex2_1109 {
	public static void main(String args[]) {

		for ( int i = 1; i <= 5; i++ ) {
			for ( int star = 1; star <= ( i-1 ); star++)
				System.out.print("*");
			System.out.print("\n");
		}
		for ( int i = 1; i <= 5; i++ ) {
			for ( int star = 1; star <= (5-i); star++ )
				System.out.print("*");
			System.out.print("\n");
		}
	}
}

소스 풀이

  1. int i는 몇 줄을 출력했는지를 의미합니다.
  2. int star은 몇 개의 별을 출력했는지를 의미합니다.
  3. 첫 번째 for문에서는 아래와 같은 형태를 출력합니다.
 *
 **
 ***
 ****
  1. 두 번째 for문에서는 아래와 같은 형태를 출력합니다.
****
***
**
*

첫 번째 for문

  1. int i는 1부터 시작해 한 바퀴를 돌 때마다 i++을 수행하고 값이 5가 되면 해당 for문에서 빠져나옵니다.
  2. int star는 1부터 시작해 i-1까지 반복합니다. i의 최댓값이 5이기 때문에 star는 최댓값이 4가 됩니다.
    따라서 별을 한 개 찍고 줄 바꿈하고 두 개 찍고 줄바꿈을 하는 것을 반복해 최대 한 줄에 별을 4개를 찍고 다음 for문으로 이동합니다.

두 번째 for문

  1. int i는 1부터 시작해 한 바퀴를 돌 때마다 i++을 수행하고 값이 5가 되면 해당 for문에서 빠져나옵니다.
  2. int star는 1부터 시작해 5-i까지 반복합니다. i의 최댓값이 5이므로 star는 최댓값이 4가 됩니다.
    따라서 별을 네 개 찍고 줄 바꿈하고 세 개 찍고 줄바꿈을 하는 것을 반복해 한 줄에 별을 한 개를 찍고 for문을 빠져나옵니다.

일련의 과정을 i가 5가 될 때까지 반복합니다.


출력 결과

*
**
***
****
****
***
**
*


문제3.

x좌표와 y좌표를 입력받고 점이 몇 사분면에 있는지를 출력하시오.

Ex)
점의 좌표(x y) 입력 : 0 -3(0.0, -3.0)의 위치 : 선 위에 존재

점의 좌표(x y) 입력 : 1.2 3.4(1.2, 3.4)의 위치 : 1사분면

점의 좌표(x y) 입력 : -67.8 67(-67.8, 67.0)의 위치 : 2사분면

점의 좌표(x y) 입력 : -8.3 -1(-8.3, -1.0)의 위치 : 3사분면

점의 좌표(x y) 입력 : 8.4 -9(8.4, -9.0)의 위치 : 4사분면

문제 조건

  1. x좌표와 y좌표를 입력받을 것
  2. 한 값이라도 0이라면 선 위에 존재를 출력할 것
  3. x좌표와 y좌표는 실수형으로 받을 것

소스

import java.util.Scanner;
public class Ex3_1109 {
	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);

		System.out.print("점의 좌표(x y) 입력 : ");
		double x = scan.nextDouble();
		double y = scan.nextDouble();

		String sabun;
		if ( x > 0 ) {
			if ( y > 0 ) sabun = "1사분면";
			else if ( y < 0 ) sabun = "4사분면";
			else sabun = "선 위에 존재";
		} else if ( x < 0 ) {
			if ( y > 0 ) sabun = "2사분면";
			else if ( y < 0 ) sabun = "3사분면";
			else sabun = "선 위에 존재";
		} else
        	sabun = "선 위에 존재";
		System.out.print("점 ("+x+", "+y+")의 위치 : "+sabun);
	}
}

소스 풀이

  1. 좌표를 입력받기 위해 Scanner scan을 사용합니다.
  2. double x에는 x좌표를 입력합니다.
  3. double y에는 y좌표를 입력합니다.
  4. String sabun은 몇 사분면인지를 나타냅니다.
  5. 중첩 if문을 사용하여 x좌표가 양수인지 음수인지를 가립니다.
  6. y좌표가 양수인지 음수인지를 가려 sabun에 값을 저장합니다.
  7. 점 (x y)의 위치 :를 출력합니다.

출력 결과

Ex) 출력결과 예시
점의 좌표(x y) 입력 : 0 -3(0.0, -3.0)의 위치 : 선 위에 존재

점의 좌표(x y) 입력 : 1.2 3.4(1.2, 3.4)의 위치 : 1사분면

점의 좌표(x y) 입력 : -67.8 67(-67.8, 67.0)의 위치 : 2사분면

점의 좌표(x y) 입력 : -8.3 -1(-8.3, -1.0)의 위치 : 3사분면

점의 좌표(x y) 입력 : 8.4 -9(8.4, -9.0)의 위치 : 4사분면


profile
Tistory로 옮기게 되었습니다. @haeunnohh

0개의 댓글