CODE/JAVA1

ConditionalStatement

maskan 2021. 1. 27. 15:40
import java.util.Scanner;

public class ConditionalStatement {

	public static void main(String[] args) {
		/*
		 * 조건문
		 * - if문
		 * - switch문
		 * 
		 * if문
		 * - if(조건식){} : 조건식의 결과가 true이면 블럭 안의 문장을 수행한다.
		 * - else if(조건식){} : 다수의 조건이 필요할 때 if 뒤에 추가한다.
		 * - else{} : 결과가 true인 조건식이 하나도 없을 경우를 위해 추가한다.
		 */
		
		int a = 3;
		if(a == 1){
			System.out.println("조건식의 연산결과가 true이면 수행된다.");
		}
		
		if(a == 0){
			System.out.println("조건식의 연산결과가 false이면 수행되지 않는다.");
		}
		
		if(a == 1){
			System.out.println("a가 1인 경우에 하고 싶은 것");
		}else if(a== 2){
			System.out.println("a가 2인 경우에 하고 싶은 것");
		}else if(a ==3){
			System.out.println("a가 3인 경우에 하고 싶은 것");
		}else{
			System.out.println("이외의 경우에 하고 싶은 것");
		}
		
		if(a < 10){
			System.out.println("a가 10보다 작다.");
		}else if (a < 20){
			System.out.println("a가 20보다 작다.");
		}
		
		
		//시험점수가 60점 이상이면 합격 그렇지 않으면 불합격
		int score = 50;
		
		if(60 <= score){
			System.out.println("합격");
		}else{
			System.out.println("불합격");
		}
		
		//성적에 등급을 부여하는 프로그램을 만들어보자.
		score = 91;
		String grade = null;
		if(90 <= score){
			grade = "A";
			if(97<=score){
				grade += "+";
		}else if (score <=93){
				grade += "-";}
//				grade = grade + "-"; 이 60과 동일
		}else if(80<= score /*&& score < 90 */){ //있어도 그만 없어도 그만
			grade = "B";
			if(87<=score){
				grade += "+";}
			else if(score <= 83){
				grade += "-";}
		}else if(70 <= score){
			grade = "C";
			if(77<= score){
				grade = grade+="+";}
			else if(score <=73){
				grade += "-";}
		}else if(60 <= score){
			grade = "D";
			if(67<= score){
				grade += "+";}
			else if(score<=63){
				grade += "-";}
		}else{
			grade = "F";
		}
		System.out.println(score+ "점에 해당하는 등급은" + grade + "입니다.");
		
		/*
		 * switch문
		 * - switch(int/String){case 1: break;}
		 * - 조건식의 결과는 정수와 문자열만(JDK1.7부터 문자열 허용) 허용한다.
		 * - 조건식과 일치하는 case문 이후의 문장을 수행한다.
		 */
		
		a = 1;
		
		switch(a){
		
		case 1:
			System.out.println("a가 1인 경우에 하고 싶은 것");
			break;
		case 2:
			System.out.println("a가 2인 경우에 하고 싶은 것");
			break;
		case 3:
			System.out.println("a가 3인 경우에 하고 싶은 것");
			break;
		default: /*else와 유사*/
			System.out.println("이외의 경우에 하고 싶은 것");
		}
		
		String n = "a";
		
		switch(n){
		case "a" :
				System.out.println("n이 \"a\"인 경우에 하고 싶은 것");
				break;
				/*문장 안에 따옴표를 넣기 위해 \" 사용*/
		case "b" : 
			System.out.println("n이 \"b\"인 경우에 하고 싶은 것");
			break;
		default:
			System.out.println("이외의 경우에 하고 싶은 것");
			break;
		}
		
		//주어진 월에 해당하는 계절을 출력해봅시다.
		int month = 1;
		String season = null;
		
		switch(month){
		case 3:
		case 4:
		case 5:
			season = "봄";
			break;
		case 6:
		case 7:
		case 8 :
			season = "여름";
			break;
		case 9:
		case 10:
		case 11:
			season = "가을";
			break;
		case 12:
		case 1:
		case 2:
			season = "겨울";
			break;
		}	
		System.out.println(month + "월은 " + season + "입니다.");
			
		
		score = 90;
		grade = null;
		
		switch(score/10){  /*swith가 int 이므로*/
		case 10: case 9 : grade = "A"; break;
		case 8 : grade = "B"; break;
		case 7 : grade = "C"; break;
		case 6 : grade = "D"; break;
		default : grade = "F";
		}
		System.out.println(score + "점에 대한 등급은" + grade+ "입니다.");
		
			
		
		//숫자를 입력받아 그 숫자가 0인지 0이 아닌지 출력해주세요.
		Scanner s = new Scanner(System.in);
		System.out.println("숫자를 입력하세요.");
	    int num1 = Integer.parseInt(s.nextLine());
		if (num1 == 0){
			System.out.print("0을 입력했습니다.");}
		else{
			System.out.println("0이 아닙니다.");}
	
		
		//숫자를 입력받아 그 숫자가 홀수인지 짝수인지 출력해주세요.
		System.out.println("숫자를 입력하세요.");
		int num2 = Integer.parseInt(s.nextLine());
		if (num2%2 == 0){
			System.out.println("짝수입니다.");}
			else{
				System.out.println("홀수입니다.");}
		
		//점수 3개를 입력받아 총점, 평균, 등급을 출력해주세요.
		
		System.out.println("점수1을 입력하세요.");
		int score1 = Integer.parseInt(s.nextLine());
		System.out.println("점수2을 입력하세요.");
		int score2 = Integer.parseInt(s.nextLine()); 
		System.out.println("점수3을 입력하세요.");
		int score3 = Integer.parseInt(s.nextLine());
		
		int sum = score1 + score2 + score3;
//		int avg = sum *10 /3; 반올림이 아닌 버림
		
		double avg = Math.round(sum*10/3.0)/10.0;
		// Math.round()함수는 int이므로 다시 double타입을 삽입해야함.
		
		String grade1= null;
		if (90 <= avg){
			grade1 = "A";}
		else if (80 <= avg){
			grade1 = "B";}
		else if (70 <= avg){
			grade1 = "C";}
		else if (60 <= avg){
			grade1 = "D";}
		else {grade1 = "F";}
		
		System.out.println("총점 : "+ sum + "점 / 평균 : " + avg/*/10.0*/ + "점 / 등급 : "+ grade1 + "점");
		
		
		//1~100 사이의 랜덤한 숫자 3개를 발생시키고 오름차순으로 출력해주세요.
		int random1 = (int)(Math.random() * 100) + 1;
		int random2 = (int)(Math.random() * 100) + 1;
		int random3 = (int)(Math.random() * 100) + 1;
		
		if(random1 <= random2){
			if(random2 <= random3){
				System.out.println(random1 + " < " + random2 + " < " + random3);
			} else if (random3 <= random1){
				System.out.println(random3 + " < " + random1+ " < " + random2);}
				else {System.out.println(random1 + " < " + random3 + " < " + random2);}	
		}
		else if(random2 <random1){
			if(random1 <=random3){
				System.out.println(random2 + " < " + random1 + " < " + random3);}
			else if (random3 <=random2){
				System.out.println(random3 + " < " + random2 + " < " + random1);}
			else {System.out.println(random2 + " < " + random3 + " < " + random1);}
		}
		
//		int ran1 = (int)(Math.random() * 100) + 1;
//		int ran2 = (int)(Math.random() * 100) + 1;
//		int ran3 = (int)(Math.random() * 100) + 1;
//		
//		int min;
//		int mid;
//		int max;
//		
//		if(ran1 <= ran2){
//			if(ran2 <= ran3){
//				ran1 = min; ran2 = mid; ran3 = max;
//			} else if (random3 <= random1){
//				ran3 = min; ran1= mid; ran2 = max;}
//				else {ran1=min; ran3=mid;  ran2 = max;}	
//		}
//		else if(ran2 <ran1){
//			if(ran1 <=ran3){
//				ran2=min; ran1=mid; ran3=max;}
//			else if (ran3 <=ran2){
//				ran3 = min;  ran2 = mid; ran1=max;}
//			else {ran2 = min;  ran3 =mid; ran1=max;}
//		}
//		System.out.println(min+"<" + mid + "<"+ max);
		
		int x = (int)(Math.random() * 100) + 1;
		int y = (int)(Math.random() * 100) + 1;
		int z = (int)(Math.random() * 100) + 1;
		
		if(x > y){
			int temp = y;
			y = x;
			x = temp;
		}
		
		if(x > z){
			int temp = x;
			x = z;
			z = temp;
		}
		
		if(y > z){
			int temp = y;
			y = z;
			z = temp;
		}
		System.out.println(x + "<" + y + "<" + z);
		
	}

}

'CODE > JAVA1' 카테고리의 다른 글

SelfTest  (0) 2021.01.27
RepetitiveStatement  (0) 2021.01.27
SimpleCalculator  (0) 2021.01.27
LogicalOperator  (0) 2021.01.27
Etc  (0) 2021.01.27