자바-이클립스 4일차 (if문 문제 복습)

최성현·2023년 6월 20일
0

Java

목록 보기
4/46

calendar/scanner 복습

package day0620;

import java.util.Calendar;
import java.util.Scanner;

public class ScannerReview_01 {

	public static void main(String[] args) {
		/*
		 * 태어난연도: 1997
		 * 이름: 홍길동
		 * 핸드폰번호: 010-1234-5678
		 * 주소: 서울시 동작구
		 * ================================
		 * 		[개인정보]
		 * 이름: 홍길동
		 * 나이: 26세
		 * 연락처: 010-1234-5678
		 * 주소: 서울시 동작
		 * */
		
		Calendar cal=Calendar.getInstance();
		Scanner sc=new Scanner(System.in);
		
		String name, addr, num;
		int year, age;
		
		System.out.print("태어난연도: ");
		year=Integer.parseInt(sc.nextLine()); //Integer.parseInt("1997")=>1997 String==>int
		//int 다음 문자열이 나오면 버퍼가 생김//int값이 필요하기 때문에 nextLine문자열을 int로 형변환한 것
		//자료형 형변환과 다르게 쓴 이유는 String은 8개의 자료형이 아니고 클래스이기 때문
		System.out.print("이름: ");
		name=sc.nextLine();
		System.out.print("핸드폰번호: ");
		num=sc.nextLine();
		System.out.print("주소: ");
		addr=sc.nextLine();
		
		year=cal.get(cal.YEAR);  //age=cal.get(cal.YEAR)-year; 위에 year를 이미 입력해서 또 구할 필요x
		age=year-1997;
		
		System.out.println("===========================");
		System.out.println("[개인정보]");
		System.out.println("이름: "+name);
		System.out.println("나이: "+age+"세");
		System.out.println("연락처: "+num);
		System.out.println("주소: "+addr);

	}

}

if문/삼항연산자 복습

package day0620;

import java.util.Scanner;

public class IfOperReview_02 {

	public static void main(String[] args) {
		/*
		 * 평가메세지: 90점이상: 참잘함	80점이상: 잘함		80점미만: 다음기회에....
		 * (삼항연산자)
		 * 학점:	90점이상: A 80점이상: B 70점이상: C 60점이상:D 60점미만:F
		 * (If문)
		 * 점수를 입력하세요
		 * 88
		 * ==========================
		 * 점수: 88점
		 * 평가메세지: 잘함
		 * 학점: B
		 * */
		
		Scanner sc=new Scanner(System.in);
		
		int score;
		String msg, msg2;
		
		System.out.println("점수를 입력하세요");
		score=sc.nextInt();
		
		/*
		if(score>=90)
			msg2="참잘함";
		else if(score>=80)
			msg2="잘함";
		else
			msg2="다음기회에..."; */
		
		msg2=score>=90? "참잘함":
				score>=80? "잘함":"다음 기회에...";
		
		/*
		msg=score>=90? "A":
				score>=80? "B":
					score>=70? "C":
						score>=60? "D": "F";*/
				
		if (score>=90)
			msg="A";
		else if (score>=80)
			msg="B";
		else if (score>=70)
			msg="C";
		else if (score>=60)
			msg="D";
		else
			msg="F";
						
		System.out.println("========================");
		System.out.println("점수: "+score+"점");
		System.out.println("평가메세지: "+msg2);
		System.out.println("학점: "+msg);
		

	}

}

if문 Max구하기

int x,y,max;

if(x>y)
max=x;
else
max=y;

동일한 결과의 삼항연산

max=x>y?x:y;

package day0620;

import java.util.Scanner;

public class IfMax_03 {

	public static void main(String[] args) {
		// 2개의 숫자를 입력 받았을 때 Max,Min값 구해보기
		Scanner sc=new Scanner(System.in);
		int x,y,max;
		
		System.out.println("**두 개의 숫자를 입력하시오");
		x=sc.nextInt();
		y=sc.nextInt();
		
		System.out.println("입력한 두수: "+x+","+y);
		
		/*
		if(x>y)
			max=x;
		else
			max=y; */
		
		//동일한 결과의 삼항연산
		max=x>y?x:y;
		
		//출력
		System.out.println("두 수 중에서 더 큰 값은 "+max+"입니다");
		
		//삼항연산자를 이용하여 첫 번째 수가 더 작다 or 더 크다
		System.out.println("첫 번째 수가 더"+(x>y?"크다":"작다")); //출력문 안에 삼항연산자 넣어

	}

}

if문 엔드연산자 문제

package day0620;

import java.util.Scanner;

public class IfMaxNum_04 {

	public static void main(String[] args) {
		/*
		 * 3개의 수 입력
		 * 5
		 * 7
		 * 8
		 * 
		 * ***if문
		 * 가장 큰 수:8
		 * 
		 * ***삼항연산
		 * 가장 큰 수:8
		 * */
		Scanner sc= new Scanner(System.in);
		
		int x,y,z,max;
		
		System.out.println("3개의 수 입력");
		x=sc.nextInt();
		y=sc.nextInt();
		z=sc.nextInt();
		
		
		System.out.println("**If문");
		
		if (x>y && x>z)
			max=x;
		else if (y>x && y>z)
			max=y;
		else
			max=z;
		
		System.out.println("가장 큰 수: "+max);
		
		System.out.println("삼항연산자");
		
		max=(x>y&&x>z)? x: (y>x&&y>z)? y: z;
		
		System.out.println("가장 큰 수: "+max);

	}

}

if문 연산문제

package day0620;

import java.net.URISyntaxException;
import java.util.Scanner;

public class QuizIfOper_05 {

	public static void main(String[] args) {
		/*
		 상품명?	아이패드
		 수량?	3
		 가격?	500000
		 =========================
		 아이패드 3개는 총 1500000 원 입니다
		 3개 이상은 10프로 DC가 됩니다
		 DC된 총금액: 1350000
		 * */
		
		Scanner sc=new Scanner(System.in);
		
		String name;
		int count,price;
		double total;
		
		System.out.print("상품명? ");
		name=sc.nextLine();
		System.out.print("수량? ");
		count=sc.nextInt();
		System.out.print("가격? ");
		price=sc.nextInt();
		
		/*
		 * int total;
		 * 
		total=count*price; //total을 미리 구해놓음
		
		System.out.println(name+" "+count+"개는 총 "+total+"원 입니다");
		
		//수량이 3개 이상이면 10%DC
		//if문 안에서 dc를 따로 선언하고 구하고 바로 출력
		if(count>=3) {
			int dc=total*9/10;
			System.out.println("조건: 3개이상이면 10프로 DC됨");
			System.out.println("DC된 금액: "+dc);
		}
		*/
		
		if(count>=3)
			total=(count*price)*0.9; //total을 int로 쓰고 싶으면 total=(int)((count*price)*0.9);
		else
			total=count*price;
		
		System.out.println(name+" "+count+"개 는 총 "+total+"원 입니다");
		//System.out.printf("%s %d개 는 총 %.0f원 입니다\n",name,count,total); 소수점 없애려면 printf하고 %.0f 사용
		System.out.println("3개 이상은 10% DC가 됩니다");
		System.out.println("DC된 총 금액: "+total);
		//System.out.printf("DC된 총 금액: %.0f",total); 소수점 없애려면 printf하고 %.0f 사용
	}

}

if문 연산

package day0620;

import java.util.Scanner;

public class QuzieOper_06 {

	public static void main(String[] args) {
		/*
		 * 이름을 입력하세요
		 * 강민호
		 * 3과목의 점수를 입력하세요
		 * 39
		 * 88
		 * 99
		 * ============================
		 * 3과목점수: 39,88,99
		 * 평균: 75.333333333333
		 * ----------------------------
		 * ***합격조건: 평균이 70점이상이고, 각 과목이 40점 이상이면 합격***
		 * ----------------------------
		 * 강민호님은 불합격입니다
		 * */
		
		Scanner sc=new Scanner(System.in);
		
		String name, msg;
		int mat,eng,kor,total;
		double avg;
		
		System.out.println("이름을 입력하세요");
		name=sc.nextLine();
		System.out.println("3과목의 점수를 입력하세요");
		mat=sc.nextInt();
		eng=sc.nextInt();
		kor=sc.nextInt();
		
		total=mat+eng+kor;
		avg=total/3;
		
		System.out.println("3과목점수: "+mat+","+eng+","+kor);
		System.out.printf("평균: %.2f\n",avg); //System.out.println("평균: "+avg); 하고 싶으면 avg=total/3.0;
		System.out.println("---------------------------------");
		System.out.println("***합격조건: 평균이 70점이상이고, 각 과목이 40점 이상이면 합격");
		
		if(avg>=70 && kor>=40 && mat>=40 && eng>=40)
			msg="합격";
		else
			msg="불합격";
		
		//msg=(avg>=70&&kor>=40&&mat>=40&&eng>=40)? "합격":"불합격";
		
		System.out.println(name+"님은 "+msg+"입니다");

	}

}
profile
백엔드 개발자로서 성장해 나가는 성현이의 블로그~

0개의 댓글