# 8. Java 7일차(230823) [국비교육]

brand_mins·2023년 8월 23일

Java

목록 보기
8/47

1. 조건문 if

(1) 조건문 if

  • 조건문은 둘중에 하나를 선택해서 실행해야 할 경우.
  • if문을 만나면 상황에 따라 특정 코드가 실행될 수 있고 실행되지 않을 수 있음.
  • yes는 true, no는 false로 boolean 자료형을 의미.
  • 조건문을 표현할 때 if키워드 사용
  • if문은 비교연산자와 같이 사용한다.
if(조건식) {
	// 참일때 실행되는 코드 블록
} else {
	// 거짓일때 실행되는 코드 블록
}
  • if문의 중괄호는 코드가 한줄일때 생략이 가능하지만 되도록 생략하지 않는다.

(2) if문의 비교연산자

  • 크다, 작다, 같다 등을 나타내는 비교연산자.
기호설명예제
A > BA가 B보다 크면 true4>3 : true
A >= BA가 B보다 크거나 같으면 true3>=3, 4>=3: true
A < BA가 B보다 작으면 true3<4: true
A <= BA가 B보다 작거나 같으면 true3<=4, 3<=3: true
A == BA와 B가 같으면 true3==3: true
A != BA와 B가 다르면 true3!=4: true
int a=10;
if(a>5) {
	System.out.println("수식결과 true여서 a가 5보다 크다.");
} else {
	System.out.println("수식결과 false여서 a가 5보다 크지 않다.");
}
System.out.println();
if(1>5) {
	System.out.println("수식결과 true이다");
} else {
	System.out.println("수식결과 false이다.");
}

(3) 예제

1) 순서도를 보고 프로그램을 구현해보자.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		int a = 11;
		int b = 14;
		Scanner scanner = new Scanner(System.in);
		System.out.print("input값을 입력하세요> ");
		int input = Integer.parseInt(scanner.nextLine());
		if(input == 0 ) {
			System.out.println(a=5);
		} else {
			System.out.println(b=a+3);
		}
		System.out.println("a: " + a + ", b: " + b)	
	}
}

2) 입력받은 숫자의 절대값을 출력하는 프로그램을 만들어보자.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력하세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		if(a<0) {
			System.out.println(a + "의 절대값은 " + Math.abs(a)+"입니다.");
		} else {
			System.out.println("a가 0보다 작지 않습니다.");
		}				
	}
}

3) 어떤 수를 나누어 떨어지게 하는 수를 약수라고 한다. 100을 2로 나누면 0이 된다.
사용자에게 숫자를 입력받아 126의 약수인지 아닌지 출력해보자.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력하세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		if(126 % a == 0) {
			System.out.println(a + "는 126의 약수입니다.");
		} else {
			System.out.println(a + "는 126의 약수가 아닙니다");
		}				
	}
}

4) 국영수과목의 점수를 입력받아 평균이 80이상이면 합격, 그 이하면 불합격 출력해보자.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("국어점수를 입력하세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("영어점수를 입력하세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		System.out.print("수학점수를 입력하세요> ");
		int c = Integer.parseInt(scanner.nextLine());
		double avg = (a+b+c)/3;
		if(avg >=80) {
			System.out.println("합격");
		} else {
			System.out.println("불합격");
		}				
	}
}

5) 사용자에게 입력받은 수 x가 5이하면 x+15의 계산결과가, 5 초과이면 x+5의 계산결과가 출력되도록 프로그램을 구현해보자.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력하세요> ");
		int x = Integer.parseInt(scanner.nextLine());
		if(x<=5) {
			System.out.println(x+15);
		} else {
			System.out.println(x+5);
		}				
	}
}

6) if 문이 어떻게 출력되는지 생각해보고 출력결과를 확인해보자.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		boolean b1 =5!=3;
		boolean b2 = 5==3;
		if(b1) {
			if(b2) {
				System.out.println("1번");
			} else {
				System.out.println("2번");
			}
		} else {
			System.out.println("3번");
			System.out.println("4번");
		}			
	}
}

<설명>

  • b1은 true, b2는 false
  • if(b1) { } 이 코드부분에 b1값이 true인 경우 실행.
  • 그 다음 내부 if문에서 b2확인. b2는 false이기 때문에 else블록 실행되고 2번 블록 출력.


    7) 변수 a에 20, b에 0을 넣은 다음 a가 10보다 크면 a에 b를 넣고 아니면 b에 a를 넣어서 a,b값 출력하는 프로그램 만들기
package com.human.ex;
public class Practice {
	public static void main(String[] args) {
		int a=20;
		int b=0;
		if(a>10) { 
			System.out.println("a: " + (a+=b));
		} else {
			System.out.println("b: " + (b+=a));
		}
		System.out.println("a: " + a);
		System.out.println("b: " + b);
	}
}

8) 입력한 숫자가 10보다 큰 수인지 아닌지 출력하는 코드를 만들어 보자.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		if(a>10) {
			System.out.println("a가 10보다 큰 수입니다.");
		} else {
			System.out.println("a가 10보다 작은 수 입니다.");
		}
	}
}

9) result라는 변수를 선언하고 사용자에게 수를 입력 받아 0이 면 0를 0이 아니면
1를 넣어서 출력하는 프로그램을 구현해 보자.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int result = Integer.parseInt(scanner.nextLine());
		if(result==0) {
			System.out.println("result는 0입니다.");
		} else {
			System.out.println("result는 " + (result+1) + "입니다.");
		}
	}
}

10) 두수를 입력해서 큰수에서 작은수를 뺀 차이를 출력하는 프로그램을 구현해 보자

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		if(a>b) {
			System.out.println("result: " + (a-b));
		} else {
			System.out.println("result: " + (b-a));
		}
	}
}

11) 입력받은 3개의 숫자 중 가장 큰 수를 출력하는 코드를 구현하시오. 3개중에서
2개를 선택해서 큰수를 구한후 나머지 하나를 비교해 보면된다.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		System.out.print("숫자를 입력해주세요> ");
		int c = Integer.parseInt(scanner.nextLine());
		if(a<b) {
			if(a<c) {
				System.out.println("가장 큰 수: " + c);
			} else {
				System.out.println("가장 큰 수: " + a);
			}
		} else if(b<c){
			System.out.println("가장 큰 수 : " + c);
		} else {
			System.out.println("가장 큰 수 : " + b);
		}
	}
}

(4) 조건문 if의 산술연산자

  • 산술연산자는 수학적 연산을 하는 +, -, *, /, %
  • %연산자는 두 수 a,b를 a%b로 하였을때 결과값은 a를 b로 나눈 나머지가 된다.

1) 어떤 숫자가 배수인지 아닌지 확인.

a%5 == 0; // a는 5의 배수

<예제>

  • 숫자 2개를 입력받아 첫번째 숫자가 두번째 숫자의 배수인지 아닌지 출력하는 프로그램 구현
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		if(a%b==0) {
			System.out.println(a + "는 " + b + "의 배수입니다.");
		} else {
			System.out.println(a + "는 " + b + "의 배수가 아닙니다.");
		}
	}
}

2) 어떤 숫자가 홀수인지 짝수인지

a%2 == 0; // a는 짝수
  • 숫자를 하나 입력받아 홀수인지 짝수인지 구하는 프로그램
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		if(a%2==0) {
			System.out.println("짝수입니다");
		} else {
			System.out.println("홀수입니다");
		}
	}
}

3) 잔돈 계산할 때

// 5700원을 500원짜리로 거슬러주고 싶다면
5700%500 == 200;

<예제>

  • a원을 동전으로 바꾸면 500원짜리 몇 개 100원짜리 몇개가 되는가?
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		int pay = 0;
		int result = a-pay;
		int changeMoney = result/500;
		System.out.println("500원 개수: " + changeMoney + "개");
		changeMoney = result%500/100;
		System.out.println("100원 개수: " + changeMoney + "개");
	}
}
  • 500원짜리 n개 100원짜리 m개 총 얼마인가?
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("500원짜리 몇개 있나요?> ");
		int n = Integer.parseInt(scanner.nextLine());
		System.out.print("100원짜리 몇개 있나요?> ");
		int m = Integer.parseInt(scanner.nextLine());
		int result = (500*n + 100*m);
		System.out.println("총 금액은 " + result + "원입니다.");
	}
}

4) 초를 시분초 변경할때

//10000초가 몇시간인지 알고싶으면 1시간 3600초.
10000%3600 == 2800

<예제>

  • n초를 입력받아 시분초로 바꿔보자
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("초를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		int hour = a / 3600;
		int minute = (a%3600) / 60;
		int second =  a % 60;
		System.out.println(a + "초는 " + hour + "시간 " + minute + "분 " + second + "초입니다." );
	}
}
  • n시간 m분 1초는 총 몇초인가?
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("시간을 입력해주세요> ");
		int n = Integer.parseInt(scanner.nextLine());
		System.out.print("분을 입력해주세요> ");
		int m = Integer.parseInt(scanner.nextLine());
		int s = 1;
		int time = (n*3600) + (m * 60) + s;
		System.out.println(n + "시간 " + m + "분 " + s + "초는 " + time + "초입니다.");
	}
}

5) 어떤 수가 약수인지 아닌지 확인하는 방법은 1~어떤 수 사이의 숫자중 어떤수를 나누어 떨어지는 수인지 확인

(5) 예제(변수 교환)

  • 순서도를 보고 코드를 구현하시오.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("두번째 숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		int temp = a;
		a = b;
		b = temp;
		System.out.println("a: " + a + ", b: " + b);
	}
}

  • 입력한 숫자가 10보다 큰 수인지 아닌지 출력하는 프로그램
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int input = Integer.parseInt(scanner.nextLine());
		if(input>10) {
			System.out.println(input + "이 10보다 크다");
		} else {
			System.out.println(input + "이 10보다 작다");
		}
	}
}

  • 순서도를 보고 입력받은 숫자가 양수인지 0인지 음수인지 판단하는 프로그램 구현
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int input = Integer.parseInt(scanner.nextLine());
		if(input>0) {
			System.out.println(input + "은 양수입니다.");
		} else if(input==0) {
			System.out.println(input + "은 0입니다.");
		} else {
			System.out.println(input + "은 음수입니다.");
		}
	}
}

  • 3개의 수를 입력받아 가장 작은 수를a, 그 다음 작은 수를 b, 나머지 수를 c출력. (단, 3개의 변수는 무작위로 입력한다)
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		System.out.print("숫자를 입력해주세요> ");
		int c = Integer.parseInt(scanner.nextLine());
		int temp;
		if(a>b) {
			temp = a;
			a = b;
			b = temp;
		}
		if(a>c) {
			temp = a;
			a = c;
			c = temp;
		}
		if(b>c) {
			temp = b;
			b = c;
			c = temp;
		}
		System.out.println("작은 수부터 순서대로: " + a + " " + b + " "  + c);
	}
}

<코드 설명>

  • a와 b를 비교하고 a>b경우 교환. a는 b보다 작거나 같은 값을 가짐.
  • a와 c를 비교하고 a>c인경우 교환. a는 세 숫자 중에서 가장 작은 값
  • b와 c를 비교하고 b>c인경우 교환. b가 c보다 작거나 같은 값.

2. else if문과 switch문

(1) else if문

  • 여러 개 코드 블록 중 특정 조건에 맞는 하나의 블록 코드만 선택해서 실행.
int i=1;
if(i>0) {
	System.out.println("i는 양수");
} else if(i<0) {
    System.out.println("i는 음수");
} else if(i==0){
    System.out.println("i는 0");
} else {
	System.out.println("i는 양수, 음수, 0이 아님");
}
  • 새로운 조건을 추가하고 싶다면 else if(조건문) {실행;} 부분 반복

(2) switch문

  • 조건변수 double형과 범위 조회 할 수 없음.
  • switch문은 반드시 1:1 매핑되는 else if문만 가능함.
switch(조건문) {
	case 변수값1:
    	// 조건변수가 변수값1일때 실행되는 코드
        break;
    case 변수값2:
    	// 조건변수가 변수값1일때 실행되는 코드
        break;
    case 변수값3:
    	// 조건변수가 변수값1일때 실행되는 코드
        break;
    default:
    	// 어떤 조건도 맞지 않을 경우 실행되는 코드
}

(3) (1)~(2) 예제

  • 1~5사이의 숫자를 변수c에 저장하여 한글로 출력하는 switch문 만들기
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("1~5 사이의 숫자를 입력해주세요> ");
		int c = Integer.parseInt(scanner.nextLine());
		switch(c) {
		case 1:
			System.out.println("가");
			break;
		case 2:
			System.out.println("나");
			break;
		case 3:
			System.out.println("다");
			break;
		case 4:
			System.out.println("라");
			break;
		default:
			System.out.println("마");
			break;
		}
	}
}

  • 다음 순서도와 동일하게 실행되도록 else if문과 switch문으로 기술하시오.
  • else-if문
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		int a=5;
		int b=7;
		Scanner scanner = new Scanner(System.in);
		System.out.print("input 값을 입력해주세요> ");
		int input = Integer.parseInt(scanner.nextLine());
		if(input == 0) {
			System.out.println(a=a+2);
		} else if(input == 1) {
			System.out.println(b=b+4);
		} else if(input == 2) {
			System.out.println(a=a+b);
		} else {
			System.out.println(b=b+5);
		}
		System.out.println("a: " + a + ", b: " + b);
	}
}
  • switch문
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		int a=5;
		int b=7;
		Scanner scanner = new Scanner(System.in);
		System.out.print("input 값을 입력해주세요> ");
		int input = Integer.parseInt(scanner.nextLine());
		switch(input) {
		case 0:
			a = a+2;
			break;
		case 1:
			b = b+4;
			break;
		case 2:
			a = a+b;
			break;
		default:
			b = b+5;
			break;
		}
		System.out.println("a: " + a + ", b: " + b);
	}
}

  • 점수를 입력받아 90점이상은 수, 80점이상은 우, 70점 이상은 미 ..로 출력하는
    프로그램을 else if문과 switch문으로 만들어 보자
    • else if문
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("점수를 입력해주세요> ");
		int score = Integer.parseInt(scanner.nextLine());
		if(score>=90) {
			System.out.println("수");
		} else if(80>=score && score<89) {
			System.out.println("우");
		} else if(70>=score && score<79) {
			System.out.println("미");
		} else if(60>=score && score<69) {
			System.out.println("양");
		} else {
			System.out.println("가");
		}
	}
}
  • switch문
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("점수를 입력해주세요> ");
		int score = Integer.parseInt(scanner.nextLine());
		switch(score/10) {
		case 9:
			System.out.println("수");
			break;
		case 8:
			System.out.println("우");
			break;
		case 7:
			System.out.println("미");
			break;
		case 6:
			System.out.println("양");
			break;
		default:
			System.out.println("가");
			break;
		}
	}
}

  • 달을 입력받아 해당달이 28일인지 30일인지 31일인지 출력하는 프로그램을 구현해보자.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("달을 입력해주세요(1~12월)> ");
		int month = Integer.parseInt(scanner.nextLine());
		switch(month) {
		case 2:
			System.out.println(month + "월은 28일까지 있습니다.");
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			System.out.println(month + "월은 30일까지 있습니다.");
			break;
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			System.out.println(month + "월은 31일까지 있습니다.");
			break;
		}
	}
}

  • 나이를 입력 받아 해당 나이의 때의 학력이 초,중,고 중 어디에 해당하는지 출력해보자.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("나이를 입력해주세요> ");
		int age = Integer.parseInt(scanner.nextLine());
		switch(age) {
		case 8:
		case 9:
		case 10:
		case 11:
		case 12:
		case 13:
			System.out.println("초등학교");
			break;
		case 14:
		case 15:
		case 16:
			System.out.println("중학교");
			break;
		case 17:
		case 18:
		case 19:
			System.out.println("고등학교");
			break;
        default: 
			System.out.println("초, 중, 고 출신이 아닙니다.");
			break;
		}
	}
}

3. 조건문과 논리연산자

(1) 논리연산자(and:&&)

  • &&연산자는 두 피연산자가 true일때 true가 된다.
package com.human.ex;
public class JavaStart00 {
	public static void main(String[] args) {
		int x = 4;
		int y = 10;
		if (x > 0 && y > 0) {
			System.out.println("x와 y는 모두 양수입니다.");
		}
	}
}

(2) 논리연산자(or: ||)

  • ||는 두 피연사자 중 하나만 true일때 true로 반환
package com.human.ex;
public class JavaStart00 {
	public static void main(String[] args) {
		int x = 5;
		int y = -12;
		if (x > 0 || y > 0) {
			System.out.println("x와 y중에 적어도 하나는 양수입니다.");
		}
	}
}

  • &&, || 두 연산자를 활용한 예제
package com.human.ex;
public class JavaStart00 {
	public static void main(String[] args) {
    	int x = 5;
		int y = 10;
		if ((x > 0 && y > 0) || (x < 0 && y < 0)) {
		System.out.println("x와 y는 둘 다 양수이거나 둘 다 음수입니다.");
		} else {
		System.out.println("x와 y는 서로 다른 부호입니다.");
	}

(3) 논리연산자(not: !)

  • !은 true일때 false, false일때 true 출력
package com.human.ex;
public class JavaStart00 {
	public static void main(String[] args) {
    	boolean isTrue = true;
        if(!isTrue) {
        	System.out.println("isTrue는 false입니다");
 		} else {
        	System.out.println("isTrue는 true입니다.");
		}
  • if(!isTrue): isTrue변수의 값이 false가 아닌 경우. 다시 말해서, true인 경우만 실행.

  • !연산자와 문자열 비교 예제
package com.human.ex;
public class JavaStart00 {
	public static void main(String[] args) {
    	String str1 = "hello";
        String str2 = "world";
        if(!str1.equals(str2)) {
        	System.out.println("str1과 str2는 다른 문자열입니다.");
		} else {
			System.out.println("str1과 str2는 같은 문자열입니다.");
		}

(4) 삼항연산자(?:)를 이용한 예제

package com.human.ex;
public class JavaStart00 {
	public static void main(String[] args) {
    	int x = 10;
        int y = x > 5 ? 20:30;
        System.out.println("y= " + y);

(5) 논리연산자 예시

  • a>4 && b>3 if문 사용할 때 - &&
int a = 10;
int b = 20;
if(a>4 && b>3) {
	System.out.println("합격");
} else {
	System.out.println("불합격");
}
  • a>4 && b>3 if문 사용할 때 - ||
int a=7;
int b=4;
if(a>4 || b>3) {
	System.out.println("합격");
} else {
	System.out.println("불합격");
}
  • 비밀번호 1111, key: 108호 둘다 맞아야함
int num=1111;
String key = "108호";
// 객체비교: equals 함수
if(num==1111 && key.equals("108호")) {
	System.out.println("들어감");
} else {
	System.out.println("못들어감");
}
  • 비밀번호, 키 둘 중 하나만 맞으면 들어갈 수 있음.
if(num==1112 || key.equals("108호")) {
	System.out.println("들어감");
} else {
	System.out.println("못들어감");
}
  • 비밀번호만 맞으면 들어감.
if(num==1111) {
	System.out.println("들어감");
} else {
	System.out.println("못들어감");
}
  • 키만 맞으면 들어감.
if(key=="108호") {
	System.out.println("들어감");
} else {
	System.out.println("못들어감");
}

(6) 논리연산자 예제

  • p.174~179 (이해되지 않아 풀이과정 작성)
// 입력값에 따라 동일한 결과가 나오도록 조건식을 작성하자.
boolean isFlag1 = ?, isFlag2 = ?;// 입력값
if (isFlag1) {
	if (isFlag2) {
		System.out.println("맞음");
	} else {
		System.out.println("틀림");
	}
} else {
	if (isFlag2) {
		System.out.println("틀림");
	} else {
		System.out.println("틀림");
	}
}
if (isFlag1 && isFlag2) {//적절한 조건식을 ?부분에 넣어보자.
	System.out.println("맞음");//출력값이 상위 코드와 동일하게 동작하도록
} else {
	System.out.println("틀림");
}
  • 설명: 첫번째 if-else 블록
    • isFlag1이 true이므로 첫번째 if 문 블록실행
    • isFlag2도 true이므로 "맞음" 출력

  1. 같은 문자열이 2번 출력 되도록 적절한 조건식을 ?부분에 넣어보자.
// 입력값에 따라 동일한 결과가 나오도록 조건식을 작성하자.
boolean isFlag1 = 1, isFlag2 = 0;// 입력값
if (isFlag1) {
	if (isFlag2) {
		System.out.println("맞음");
	} else {
		System.out.println("맞음");
	}
} else {
	if (isFlag2) {
		System.out.println("맞음");
	} else {
		System.out.println("틀림");
	}
}
if (?) {//적절한 조건식을 ?부분에 넣어보자.
	System.out.println("맞음");//출력값이 상위 코드와 동일하게 동작하도록
} else {
	System.out.println("틀림");
}
  • 설명: 첫번째 if-else 블록
    • isFlag1이 true이므로 첫번째 if 문 블록실행
    • isFlag2도 true이므로 "맞음" 출력
  • 두번째 if-else 블록
    • isFlag1 || isFlag2 둘중 하나라도 true면 true.

  1. 같은 문자열이 2번 출력 되도록 적절한 조건식을 ?부분에 넣어보자.
// 입력값에 따라 동일한 결과가 나오도록 조건식을 작성하자.
boolean isFlag1 = 1, isFlag2 = 1;// 입력값
if (isFlag1) {
	if (isFlag2) {
		System.out.println("틀림");
	} else {
		System.out.println("틀림");
	}
} else {
	if (isFlag2) {
		System.out.println("틀림");
	} else {
		System.out.println("맞음");
	}
}
if (?) {//적절한 조건식을 ?부분에 넣어보자.
	System.out.println("맞음");//출력값이 상위 코드와 동일하게 동작하도록
} else {
	System.out.println("틀림");
}
  • 첫번째 if-else 블록:
    • isFlag1이 true이므로 첫번째 if블록실행
    • isFlag2 역시 true이므로 틀림 출력
  • 두번째 if-else 블록:
    • isFlag1 || isFlag2 둘 중 하나라도 true이면 true지만 !인 반대 연산자이기에 틀림 출력

  1. 같은 문자열이 2번 출력 되도록 적절한 조건식을 ?부분에 넣어보자.
// 입력값에 따라 동일한 결과가 나오도록 조건식을 작성하자.
boolean isFlag1 = 1, isFlag2 = 1;// 입력값
if (isFlag1) {
	if (isFlag2) {
		System.out.println("틀림");
	} else {
		System.out.println("맞음");
	}
} else {
	if (isFlag2) {
		System.out.println("맞음");
	} else {
		System.out.println("맞음");
	}
}
if (?) {//적절한 조건식을 ?부분에 넣어보자.
	System.out.println("맞음");//출력값이 상위 코드와 동일하게 동작하도록
} else {
	System.out.println("틀림");
}
  • 첫번째 if-else 블록:
    • isFlag1이 true이므로 첫번째 if블록실행
    • isFlag2 역시 true이므로 맞음 출력
  • 두번째 if-else 블록:
    • isFlag1이 true이므로 두번째 블록 if 실행
    • isFlag2이 true이므로 "맞음"출력
    • 하지만, !(isFlag1&&isFlag2)이기 때문에 "틀림"출력

(7) 논리연산자 p.176~179

표를 참고하여 true결과로 구현하시오.

1)

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		if(a>14) {
			System.out.println("true입니다");
		} else {
			System.out.println("false입니다");
		}		
	}
}

2)

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("두번째 숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		if(a<=12 && b>22) {
			System.out.println("true입니다");
		} else {
			System.out.println("false입니다");
		}	
	}
}
  1. 왼쪽 이미지에서 색칠 안한 부분의 값들이 들어 왔을때 true가되는 조건식을 만들어 보자.
    not연산자는 사용방법과 그렇지 않은 방법 2개를 만들어 보자

    1)
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		if (!(a>14)) {
			System.out.println("true입니다");
		} else {
			System.out.println("false입니다");
		}		
	}
}
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		if (a<14) {
			System.out.println("true입니다");
		} else {
			System.out.println("false입니다");
		}	
	}
}

2)

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("두번째 숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		if (!(a<=12 && b>22)) {
			System.out.println("true입니다");
		} else {
			System.out.println("false입니다");
		}	
	}
}
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("두번째 숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		if (a>12 && b<22) {
			System.out.println("true입니다");
		} else {
			System.out.println("false입니다");
		}		
	}
}

3)

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("두번째 숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		if (!(a>5 && b<=9)) {
			System.out.println("true입니다");
		} else {
			System.out.println("false입니다");
		}	
	}
}
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 숫자를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("두번째 숫자를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		if (a<5 && b>9) {
			System.out.println("true입니다");
		} else {
			System.out.println("false입니다");
		}		
	}
}
  1. 입력받은 수가 3의 배수 이거나 7의 배수이면 ‘3또는 7의 배수’가 출력되고, 2의 배수도 되고 5의 배수도 되면 ‘2와 5의 배수’를 출력하고 두가지 경우 다 만족하면 2가지 다 출력하는 프로그램을 만들어 보자.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
    	Scanner scanner = new Scanner(System.in);
        System.out.print("숫자를 입력해주세요> ");
        int a = Integer.parseInt(scanner.nextLine());
        int a1 = a%3;
        int a2 = a%7;
        int a3 = a%2;
        int a4 = a%5;
        if(a1==0 || a2==0) {
        	System.out.println("3의 배수이거나 7의 배수입니다");
        } else {
        	System.out.println("3의 배수이거나 7의 배수가 아닙니다.");
        }
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
    	Scanner scanner = new Scanner(System.in);
        System.out.print("숫자를 입력해주세요> ");
        int a = Integer.parseInt(scanner.nextLine());
        int a1 = a%3;
        int a2 = a%7;
        int a3 = a%2;
        int a4 = a%5;
        if(a3==0 || a4==0) {
        	System.out.println("2의 배수이거나 5의 배수입니다");
        } else {
        	System.out.println("2의 배수이거나 5의 배수가 아닙니다.");
        }
  1. 4.왼쪽 이미지는 하나의 점이 x,y좌표를 가질때 위치할 수 있는 장소를 4개로 구분한 것이다. x,y가 모두 양수이면 2번 위치에 점이 존재하게 될것이고 모두 음수이면 4번위치에 점이 위치하게 될것이다. 해당 점의 좌표를 입력받아 해당 점이 어느 위치에 있는지 출력해 보자. x,y축 위에 있을 때는 x,y축 위에 있다고 출력하면 된다.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("x좌표를 입력해주세요> ");
		int x = Integer.parseInt(scanner.nextLine());
		System.out.print("y좌표를 입력해주세요> ");
		int y = Integer.parseInt(scanner.nextLine());
		if(x>0 && y>0) {
			System.out.println("x, y좌표는 2번 위치에 점이 존재합니다.");
		} else {
			System.out.println("x, y좌표는 2번 위치에 점이 존재하지 않습니다.");
		}
	}
}
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("x좌표를 입력해주세요> ");
		int x = Integer.parseInt(scanner.nextLine());
		System.out.print("y좌표를 입력해주세요> ");
		int y = Integer.parseInt(scanner.nextLine());
		if(x<0 && y<0) {
			System.out.println("x, y좌표는 4번 위치에 점이 존재합니다.");
		} else {
			System.out.println("x, y좌표는 4번 위치에 점이 존재하지 않습니다.");
		}
	}
}
  1. 버스요금 계산하는 프로그램을 구현해보자. 15세 이하는 1300원 초과는 1600원.
    버스카드로 결제하면 100원 할인해준다.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("나이를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("버스카드 결제> ");
		String b = scanner.nextLine(); 
		int m1 = 1300;
		int m2 = 1600;
		int sale1 = m1-100;
		int sale2 = m2-100;
		Boolean b1 = Boolean.parseBoolean("true");
		if(a<=15 && b1) {
			System.out.println("버스카드 결제 금액은 " + sale1 + "원입니다.");
			} else if(a>15 && b1) {
			System.out.println("버스카드 결제 금액은 " + sale2 + "원입니다.");
			} else if(a<=15) {
			System.out.println("버스카드 결제 금액은 " + m1 + "원입니다.");
			} else {
				System.out.println("버스카드 결제 금액은 " + m2 + "원입니다.");
			}
	}
}
  1. 다음을 구현하려면 어떤 문을 사용하는지 고민하고 사용자 입력받아 결과가 출력되도록 구현
    a) 밥을 먹었으면 '밥을 먹었음'이 출력되고 먹지 않았으면 아무것도 출력되지 않음.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("어떤 식사를 하셨나요?> ");
		String a = scanner.nextLine();
		String a1 = "빵";
		String a2 = "밥";		
		if(a.equals(a2)) {
			System.out.println("밥을 먹었음");
		} else {
			System.out.println("");
		}	
	}
}

b) 빵을 먹었으면 ‘빵을 먹었음’이 출력되고 빵을 먹지 않았으면 ‘밥을 먹었음’이 출력됨

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("어떤 식사를 하셨나요?> ");
		String a = scanner.nextLine();
		String a1 = "빵";
		String a2 = "밥";		
		if(a.equals(a1)) {
			System.out.println("빵을 먹었음");
		} else {
			System.out.println("밥을 먹었음");
		}	
	}
}

c) 밥을 먹었으면 ‘밥을 먹었음’ 먹지 않았으면 ‘빵을 먹었음’이 출력되도록 구현.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("어떤 식사를 하셨나요?> ");
		String a = scanner.nextLine();
		String a1 = "빵";
		String a2 = "밥";		
		if(a.equals(a2)) {
			System.out.println("밥을 먹었음");
		} else {
			System.out.println("빵을 먹었음");
		}	
	}
}

d) 밥을 먹었으면 ‘밥을 먹었음’ 먹지 않았으면 ‘아무것도 안먹었음’이 출력 되도록 구현

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("어떤 식사를 하셨나요?> ");
		String a = scanner.nextLine();
		String a1 = "빵";
		String a2 = "밥";		
		if(a.equals(a2)) {
			System.out.println("밥을 먹었음");
		} else {
			System.out.println("아무것도 안먹었음");
		}	
	}
}

e) 식사로 ‘밥’과 ‘빵’이 있고 후식으로 국,우유, 아이스크림, 커피가 있는데 밥을 먹으면 국과 아이스크림중 하나를 빵을 먹으면 우유 커피 중 하나를 후식으로 먹을수 있다.

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("어떤 식사를 하셨나요?> ");
		String a = scanner.nextLine();
		String a1 = "빵";
		String a2 = "밥";				
		if(a.equals(a2)) {
			System.out.println("밥을 먹었음. 후식을 골라주세요(국, 아이스크림)");
		} else {
			System.out.println("빵을 먹었음. 후식을 골라주세요(우유, 커피)");
		}		
		String b1 = "국";
		String b2 = "아이스크림";
		String b3 = "우유";
		String b4 = "커피";
		System.out.print("후식을 골라주세요> ");
		String b = scanner.nextLine();		
		if(b.equals(b1)) {
			System.out.println("국을 선택하셨습니다.");
		} else if(b.equals(b2)) {
			System.out.println("아이스크림을 선택하셨습니다.");
		} else if(b.equals(b3)) {
			System.out.println("우유를 선택하셨습니다.");
		} else {
			System.out.println("커피를 선택하셨습니다.");
		}
	}
}
  1. int i=(new java.util.Date()).getDay();다음과 같이 기술하면 오늘의 요일이 i에 숫자로 들어간다. i가 0일 경우 일요일이고 일월화수목금토일은 0123456과 같다. i값을 가지고 오늘의 요일을 출력하는 프로그램을 만들어 보자
package com.human.ex;
import java.util.Date;
public class Practice {
	public static void main(String[] args) {
		String a = "";
		Date today = new Date();
		int day = today.getDay();
		switch(day) {
		case 0:
			a="일요일입니다.";
			break;
		case 1:
			a="월요일입니다.";
			break;
		case 2:
			a="화요일입니다.";
			break;
		case 3:
			a="수요일입니다.";
			break;
		case 4:
			a="목요일입니다.";
			break;
		case 5:
			a="금요일입니다.";
			break;
		case 6:
			a="토요일입니다.";
			break;
		}
		System.out.println("오늘의 요일은 " + a);
	}
}

8.한국사이즈를 입력받아 미국사이즈로 출력하시오

package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("한국 사이즈를 입력해주세요> ");
		double size = Double.parseDouble(scanner.nextLine());
		if(90>=size && size<95) {
			System.out.println("미국 사이즈는 S입니다.");
		} else if(95>=size && size<100) {
			System.out.println("미국 사이즈는 M입니다.");
		} else if(100>=size && size<105) {
			System.out.println("미국 사이즈는 L입니다.");
		} else if(105>=size && size<110) {
			System.out.println("미국 사이즈는 XL입니다.");
		} else {
			System.out.println("미국 사이즈는 XXL입니다");
		}
	}
}
  1. java,html,db과목의 점수를 입력받아. 평균이 60점 이상이면 합격, 평균이 60점미만이면 불합격, 40점 이하인 과목이 하나라도 있으면 과락이 출력되도록 프로그램을 구현해 보자. 최종결과 화면은 다음과 같다. 국어 35 과락, 수학 10과락 또는 총점 40로 60점미만 불합격 또는 총점 60이상 합격이 출력된다.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("java 점수를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("html 점수를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		System.out.print("db 점수를 입력해주세요> ");
		int c = Integer.parseInt(scanner.nextLine());
		double avg = (a+b+c)/3;
		if(avg>=60) {
			System.out.println("java: " + a + "점, html: " + b + "점, db: " + c + "점, 합격입니다.");
		} else if(avg<60) {
			System.out.println("java: " + a + "점 과락, html: " + b + "점 과락, db: " + c + "점, 불합격입니다.");
		}
	}
}
  1. 비만도 산출식이다. 사용자 입력을 받아 결과가
    아래 표와 같은 분류가 나오도록 프로그램을 구현하여라.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("학생인가요?(true/false)> ");
		boolean a = Boolean.parseBoolean(scanner.nextLine());
		System.out.print("키를 입력해주세요> ");
		double height = Double.parseDouble(scanner.nextLine());
		System.out.print("몸무게를 입력해주세요> ");
		double kg = Double.parseDouble(scanner.nextLine());
		double b = (kg/((height-100)*0.9))*100;
		if(a==true && b<95) {
			System.out.println("체중 미달입니다.");	
		} else if(a==true && b>=95 && b<120) {
			System.out.println("정상입니다.");
		} else if(a==true && b>=120 && b<130) {
			System.out.println("경도 비만입니다.");
		} else if(a==true && b>=130 && b<150) {
			System.out.println("중도 비만입니다.");		
		} else if(a==true && b>=150) {
			System.out.println("고도 비만입니다.");
		} else {
			System.out.println("잘못된 정보입니다.");
		}
		System.out.println();
		System.out.print("성인인가요?(true/false)> ");
		boolean a1 = Boolean.parseBoolean(scanner.nextLine());
		System.out.print("키를 입력해주세요> ");
		double height1 = Double.parseDouble(scanner.nextLine());
		System.out.print("몸무게를 입력해주세요> ");
		double kg1 = Double.parseDouble(scanner.nextLine());
		double b1 = (kg/((height-100)*0.9))*100;
		if(a1==true && b1<100) {
			System.out.println("체중 미달입니다.");	
		} else if(a1==true && b1>=100 && b1<110) {
			System.out.println("정상입니다.");
		} else if(a1==true && b1>=110 && b1<120) {
			System.out.println("경도 비만입니다.");
		} else if(a1==true && b1>=120 && b1<150) {
			System.out.println("중도 비만입니다.");	
		} else if(a1==true && b1>=150) {
			System.out.println("고도 비만입니다.");
		} else {
			System.out.println("잘못된 정보입니다.");
		}
	}
}
  1. 다음 표를 확인하여 사용자가 알고 있는 신체사이즈중 하나를 입력받아 해당 미국사이즈와 한국사이즈를 출력하시오. 겹치는 부분은 본인이 원하는 쪽으로 해석 해서 출력하자
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("한국 사이즈를 입력해주세요> ");
		double size = Double.parseDouble(scanner.nextLine());
		if(90>=size && size<95) {
			System.out.println("미국 사이즈는 S입니다.");
			System.out.println("목 둘레는 33~35cm입니다.");
			System.out.println("가슴 둘레는 86~91cm입니다.");
			System.out.println("팔길이는 78~81cm입니다.");
			System.out.println("허리둘레는 28~29cm입니다.");
		} else if(95>=size && size<100) {
			System.out.println("미국 사이즈는 M입니다.");
			System.out.println("목 둘레는 36~37cm입니다.");
			System.out.println("가슴 둘레는 96~102cm입니다.");
			System.out.println("팔길이는 81~84cm입니다.");
			System.out.println("허리둘레는 30~31cm입니다.");
		} else if(100>=size && size<105) {
			System.out.println("미국 사이즈는 L입니다.");
			System.out.println("목 둘레는 38~39cm입니다.");
			System.out.println("가슴 둘레는 107~112cm입니다.");
			System.out.println("팔길이는 84~86cm입니다.");
			System.out.println("허리둘레는 32~34cm입니다.");
		} else if(105>=size && size<110) {
			System.out.println("미국 사이즈는 XL입니다.");
			System.out.println("목 둘레는 41~42cm입니다.");
			System.out.println("가슴 둘레는 117~122cm입니다.");
			System.out.println("팔길이는 86~89cm입니다.");
			System.out.println("허리둘레는 34~37cm입니다.");
		} else {
			System.out.println("미국 사이즈는 XXL입니다");
			System.out.println("목 둘레는 43~45cm입니다.");
			System.out.println("가슴 둘레는 127~132cm입니다.");
			System.out.println("팔길이는 89~91cm입니다.");
			System.out.println("허리둘레는 38~40cm입니다.");
		}
	}
}
  1. 계산기 프로그램 구현
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("첫번째 수를 입력해주세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		System.out.print("두번째 수를 입력해주세요> ");
		int b = Integer.parseInt(scanner.nextLine());
		System.out.print("연산자를 선택해주세요(1. + / 2. - / 3. * / 4. /)> ");
		int c = Integer.parseInt(scanner.nextLine());
		int result = 0;
		switch(c) {
		case 1:
			result = a + b;
			break;
		case 2:
			result = a - b;
			break;
		case 3:
			result = a * b;
			break;
		case 4:
			result = a / b;
			break;
		default:
			System.out.println("유효하지 않은 숫자입니다.");
		}
		System.out.println("결과: " + result);		
	}
}
  1. 가위 바위 보 게임을 만들어서 이겼는지 졌는지 출력하는 프로그램
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("가위 바위 보를 입력해주세요> ");
		int user = Integer.parseInt(scanner.nextLine());
		int com = (int)(Math.random()*3)+1;
		if(user == com) {
			System.out.println("비겼다");
		} else if(user==1 && com==2) {
			System.out.println("졌다");
		} else if(user==1 && com==3) {
			System.out.println("이겼다");
		} else if(user==2 && com==1) {
			System.out.println("이겼다");
		} else if(user==2 && com==3) {
			System.out.println("졌다");
		} else if(user==3 && com==1) {
			System.out.println("졌다");
		} else if(user==3 && com==2) {
			System.out.println("이겼다");
		} 				
	}
}
  1. 6~10사이의 랜덤한 수를 만들어 보자. 총 수에 범위는 6,7,8,9,10 5개 이므로 랜덤 함수에 5를 곱하고 시작을 6부터 하니 더하기 6를 하면 될 것이다. 제대로 동작하는지
    확인해 보자.
package com.human.ex;
public class Practice {
	public static void main(String[] args) {
		for(int i=1; i<=10; i++) {
			int a = (int)(Math.random()*5)+6;
			System.out.println(a);
		}	
	}
}
  1. 1~45까지의 수를 랜덤하게 구현
package com.human.ex;
public class Practice {
	public static void main(String[] args) {
		for(int i=1; i<=45; i++) {
			int a = (int)(Math.random()*45)+1;
			System.out.println(a);
		}	
	}
}
  1. 가위,바위,보 문자열중 하나를 랜덤하게 화면에 출력하는 프로그램을 구현해보자.하나를 내는 것 처럼 구현 하려면 0,1,2 3개의 수를 랜덤하게 리턴하게 만든 다음 가위,바위,보3개에 1:1 매핑하면 된다.
package com.human.ex;
public class Practice {
	public static void main(String[] args) {
		int a = (int)(Math.random()*3)+1;
		if(a==1) {
			System.out.println("가위");
		} else if(a==2) {
			System.out.println("바위");
		} else {
			System.out.println("보");
		}				
	}
}
  1. 왼쪽표를 기본으로 본인이 낼 새금이 얼마인지 출력하는 프로그램을 구현해 보자. 만약에 본인이 번돈이 1600만원 이라면 1200만원은 세율이 6%이고 나머지 400만원은 세율이 15%이다.
package com.human.ex;
import java.util.Scanner;
public class Practice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("소득금액(만원)을 입력하세요> ");
		int a = Integer.parseInt(scanner.nextLine());
		double result = 0;
		if(a<=1200) {
			result = (a * 10000)* 0.06; 
		} else if(a>=1200 || a<4600) {
			result = (a * 10000)*0.15 + (12000000 * 0.06 - 12000000 * 0.15);
		} else if(a>=4600 || a<8800) {
			result = (a * 10000)*0.24 + (12000000 * 0.06 - 12000000 * 0.24);
		} else if(a>=8800 || a<15000) {
			result = (a * 10000)*0.35 + (12000000 * 0.06 - 12000000 * 0.35);
		} else if(a>=15000 || a<30000) {
			result = (a * 10000)*0.38 + (12000000 * 0.06 - 12000000 * 0.38);
		} else if(a>=30000 || a<50000) {
			result = (a * 10000)*0.4 + (12000000 * 0.06 - 12000000 * 0.4);
		} else if(a>50000) {
			result = (a * 10000)*0.42 + (12000000 * 0.06 - 12000000 * 0.42);
		} else {
			System.out.println("잘못된 금액입니다.");
		}
		System.out.println("내야 할 세금은 " + result/10000 + "만원입니다");				
	}
}
profile
IT 개발자가 되기 위한 기록

0개의 댓글