728x90

1.ex01)

package days05;

import java.util.Scanner;

public class Ex01 {

	public static void main(String[] args) {
		// Scanner 클래스 API doucument
		//Ctrl A전체선택 ctrl i 들여쓰기
		String input = "1 fish 2 fish red fish blue fish";

		//Resource leak: 's' is never closed->사용하고 나면 닫아라, 그래서 밑에 s.close();
		Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
		//구분자로 "\\s*fish\\s*" regex(정규표현식)을 사용하겠다.
		
		/*
		\\s 스페이스
		* 0~여러번
		fish 문자열
		\\s 스페이스
		*/
		
		System.out.println(s.nextInt());
		System.out.println(s.nextInt());
		System.out.println(s.next());
		System.out.println(s.next());
		s.close();

	}

}

 

2.ex02)

package days05;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 1.-오전 11:13:33
 * @subject 
 * @content 
 *
 */
public class Ex02 {

	public static void main(String[] args) {
		String name;
	      byte age;
	      double height;
	      boolean gender;
	      //String gender;
	      
	      Scanner scanner = new Scanner(System.in);
	      
	      System.out.print("> 이름, 나이, 키, 성별 입력 ? ");
	      
	      name =  scanner.next(); // String
	      age =  scanner.nextByte();
	      height = scanner.nextDouble();
	      gender =  scanner.nextBoolean();
	      //gender =  scanner.next();
	      //  홍길동 20 178.89 true
	      System.out.printf(
	            "> 이름:%s, 나이:%d살, 키:%.2f, 성별:%s \n"
	            , name, age, height
	            ,gender?"남자":"여자"
	            );
		

	}//main

}//class

 

3.ex03)

package days05;

/**
 * @author kim
 * @date 2023. 2. 1.-오전 11:29:42
 * @subject
 * @content
 *
 */
public class Ex03 {

	public static void main(String[] args) {
		// 취업: 알고리즘
		/*
		 1.제어문의 정의:프로그램의 실행 순서를 제어(건너띄기, 반복해서 처리 등등)하는 문
		 2.제어문 종류
		 	1)조건문 : if문			Ex03_02.java
		 			   if ~ else문	Ex03_03.java
		 			   if ~ elseif ~ elseif ~...else 문	Ex04_02.java
		 	2)분기문 : switch문	Ex05.java
		 	3)반복문:for문, foreach문(확장 for문)
		 	4)조건반복문:while, do~while문
		 	5)기타:break문, continue문
		 */
		

	}//main

}//class

 

4.ex03_02)

package days05;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 1.-오전 11:42:00
 * @subject if문
 * @content /* {}블럭 안의 명령 라인이 "한 줄"인 경우에는 {}가 생략가능하다.
		 if(n%2==0) System.out.println("짝수");
		 if문 2개:짝수냐? 홀수냐? 답이 2개 밖에 없는데 2번 묻는거는 바보같음
 *
 */
public class Ex03_02 {

	public static void main(String[] args) {
		//정수를 입력받아서 "홀수"/"짝수"입니다라고 출력.
		int n;
		Scanner scanner = new Scanner(System.in);
		System.out.print(">정수입력?");
		n=scanner.nextInt(); 
		
		if(n%2==0) {
			System.out.println("짝수(even number)");
		}	else { //홀수
			System.out.println("홀수(odd number)");
		}
		
		
		System.out.println("END");
		
		
		
	}//main

}//class

 

5.ex03_03)

package days05;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 1.-오전 11:42:00
 * @subject if문
 * @content
 *
 */
public class Ex03_3 {

	public static void main(String[] args) {
		//정수를 입력받아서 "홀수"/"짝수"입니다라고 출력.
		int n;
		Scanner scanner = new Scanner(System.in);
		System.out.print(">정수입력?");
		n=scanner.nextInt(); //10a -> int변환 InputMismatchException
		
		//System.out.println(n);
		/*
		if (condition 조건식 이 참이면) {	참과 거짓 수식
			//{]블럭안의 코딩수행
		}
		
		if (condition) {
			
		} else {

		}
		
		if (scanner != null) {
			
		}
		
		if (scanner == null) {
			
		}
		*/
		
		//짝수 조건식? 2로 나누어서 떨어지는 정수 2n		n%2==0
		//홀수 조건식? 2로 나누어 떨어지지 않는 정수 2n+1	n%2==1 || n%2!=0
		if(n%2==0) {
			System.out.println("짝수(even number)");
		}
		
		if(n%2==1) {
			System.out.println("홀수(odd number)");
		}
		
		/* {}블럭 안의 명령 라인이 "한 줄"인 경우에는 {}가 생략가능하다.
		 if(n%2==0) System.out.println("짝수");
		 */
		
		//if문 2개:짝수냐? 홀수냐? 답이 2개 밖에 없는데 2번 묻는거는 바보같음
		
	}//main

}//class

 

6.ex04)

package days05;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 12:22:20
 * @subject
 * @content
 *
 */
public class Ex04 {

	public static void main(String[] args) {
		//[문제]국어 점수를 입력받아서
		//	등급(수, 우, 미, 양, 가)를 출력
		//수:90~100, 우:80~89, 미70~79, 양:60~69, 가:0~59
		int kor;
		
		Scanner scanner = new Scanner(System.in);
		System.out.print(">국어점수는?");
		
		kor = scanner.nextInt();
		
		//0~100 입력값에 대한 유효성 검사, (전공자)
		
		 if ( 90 <=kor  && kor<=100 ) {
	         System.out.println("수");
	      }
	      if ( 80 <=kor  && kor<=89 ) {
	         System.out.println("우");
	      }
	      if ( 70 <=kor  && kor<=79 ) {
	         System.out.println("미");
	      }
	      if ( 60 <=kor  && kor<=69 ) {
	         System.out.println("양");
	      }
	      if ( 0 <=kor  && kor<=59) {
	         System.out.println("가");
	      } 


	}//main

}//class

 

7.ex04_02)

package days05;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 12:22:20
 * @subject
 * @content
 *
 */
public class Ex04_02 {

	public static void main(String[] args) {
		//[문제]국어 점수를 입력받아서
		//	등급(수, 우, 미, 양, 가)를 출력
		//수:90~100, 우:80~89, 미70~79, 양:60~69, 가:0~59
		int kor;

		Scanner scanner = new Scanner(System.in);
		System.out.print(">국어점수는?");

		kor = scanner.nextInt();

		//0~100 입력값에 대한 유효성 검사, (전공자)

		if ( 90 <=kor  && kor<=100 ) {
			System.out.println("수");
		}else if ( 80 <=kor  && kor<=89 ) {
			System.out.println("우");
		}else if ( 70 <=kor  && kor<=79 ) {
			System.out.println("미");
		}else if ( 60 <=kor  && kor<=69 ) {
			System.out.println("양");
		}else if ( 0 <=kor  && kor<=59) {
			System.out.println("가");
		} 
		//else {} 필수사항 X

	}//main

}//class

 

8.ex04_03

package days05;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 12:22:20
 * @subject
 * @content
 *
 */
public class Ex04_03 {

	public static void main(String[] args) {
		//[문제]국어 점수를 입력받아서
		//	등급(수, 우, 미, 양, 가)를 출력
		//수:90~100, 우:80~89, 미70~79, 양:60~69, 가:0~59
		int kor;
		
		Scanner scanner = new Scanner(System.in);
		System.out.print(">국어점수는?");
		
		kor = scanner.nextInt();
		
		//0~100 입력값에 대한 유효성 검사, (전공자)
		
		if(kor>=90) {
			System.out.println("수");
		}else if(kor>=80) {
			System.out.println("우");
		}else if(kor>=70) {
			System.out.println("미");
		}else if(kor>=60) {
			System.out.println("양");
		}else { //조건식X 그 외의 모든 경우
			System.out.println("가");
		}
		//else {} 필수사항 X

	}//main

}//class

 

9.ex05)

package days05;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 2:34:09
 * @subject switch문(분기문)
 * @content
 *
 */
public class Ex05 {

	public static void main(String[] args) {
		
		/*
		key:변수, 수식
		value:value에는 변수를 사용할 수 없다. 리터럴만 사용가능
		switch (key) {
		case value:
			
			break;

		default:
			break;
		}
		*/
		
		//예)정수를 입력받아서 홀수/짝수 라고 출력...
		int n;
		Scanner scanner = new Scanner(System.in);
		System.out.print(">n을 입력하세요");
		n=scanner.nextInt();
		
		String result="";
		//key:변수, 수식
		switch (n%2) {
		case 0:
			System.out.println("짝수");
			result="짝수";
			break;
		default: //==case 1:
			System.out.println("홀수");
			result="홀수";
			break;
		}//switch
		
		System.out.printf("n=%d 는 %s이다.\n", n, result);

	}//main

}//class

 

10.ex05_2)

package days05;

import java.util.Scanner;

public class Ex05_02 {

	public static void main(String[] args) {
		//[문제]국어 점수를 입력받아서
		//	등급(수, 우, 미, 양, 가)를 출력
		//수:90~100, 우:80~89, 미70~79, 양:60~69, 가:0~59
		int kor;
		Scanner scanner = new Scanner(System.in);
		System.out.print(">국어점수는?");

		kor = scanner.nextInt();

		//switch문을 사용해서 수~가 출력
		//key:변수, 수식
		//value:변수x, 리터럴
		//switch문에 [break]문 필수사항X
		//그러나, 구문이 끝날때까지 계속 반복 되서 모든 문장을 수행할 수 있기 때문에
		//break를 추가해서 넣기
		char grade=0;

		if(0<=kor && kor<=100) {
			switch (kor/10) {
			case 10: //101~109 수
				//System.out.println("수");
				//break;
			case 9: //case에는 변수값을 사용 못한다.오직, 리터럴만 가능100
				System.out.println("수");
				grade='수';
				break;
			case 8:
				System.out.println("우");
				grade='우';
				break;
			case 7:
				System.out.println("미");
				grade='미';
				break;
			case 6:
				System.out.println("양");
				grade='양';
				break;
			default: //0~109범위 이외의 범위에서 문제
				System.out.println("가");
				grade='가'; 
				break;
			}//switch
			
			//The local variable grade may not have been initialized
			//grade 지역변수 초기화 X
			System.out.println(grade);
			
		}else {
			System.out.println("잘못 입력!");
		}//if
		
		

	}//main

}//class

 

11.ex06)

package days05;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 3:47:14
 * @subject if/switch/break
 * @content	가위(1), 바위(2), 보(3) 게임
 * 			컴퓨터: 임의의 수(보) = 1)랜덤하게 선정. Ex06_02.java
 * 			사용자:바위			  = 직접입력
 * 
 * 			[2.승부 체크 로직]
 * 			사용자 졌다.
 * 			사용자 이겼다.
 *			무승부
 *
 */
public class Ex06 {

	public static void main(String[] args) {
		
		//만약에 사용자가 4를 잘못입력하고 컴퓨터가 2를 내면 2가 되어서 승리 하는거 아닌가여?
		//사용자의 입력값에 대한 유효성 검사를 실행하면 됨
		
		int com = (int)((Math.random())*3+1);
		System.out.print(">user 가위(1), 바위(2), 보(3) 선택하시오");
		Scanner scanner = new Scanner(System.in);
		int user=scanner.nextInt();
		
		System.out.printf("com=%d, user=%d\n",com, user);
		
		/* user-com
		 com/user 	가위(1) 바위(2) 보(3)
		 가위(1)	   0	 사1	 컴2
		 바위(2)	 컴-1	  0		 사1
		 보(3)		 사-2	 -1컴     0
		 
		 user-com==0무승부
		 사용자 승리:1,-2
		 컴퓨터 승리:-1,2
		 */
		switch (user-com) {
		case 0:
			System.out.println("무승부");
			break;
		case 1: case -2:
			System.out.println("사용자 승리");
			break;
		case -1: case 2:
			System.out.println("컴퓨터 승리");
			break;
		}

	}//main

}//class

 

12.ex06_2)

package days05;

import java.math.MathContext;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 3:50:35
 * @subject
 * @content
 *
 */
public class Ex06_02 {

	public static void main(String[] args) {
		
		// 랜덤한(임의의) 값을 발생해 주는 메서드
		//0.0 <=doubleMath.random() <1.0
		
		//로또번호 1~45 임의의 수가 발생하는 코딩을 하세요.
		//국어점수 0~100
		
		System.out.println((int)(Math.random()*3)+1);
		System.out.println((int)(Math.random()*3)+1);
		System.out.println((int)(Math.random()*3)+1);
		System.out.println((int)(Math.random()*3)+1);
		System.out.println((int)(Math.random()*3)+1);
		
		//1, 2, 3 임의의 값이 발생하도록...
		//0.0 <=doubleMath.random() <1.0
		//0.0*3<=doubleMath.random()*3 <1.0*3
		//0.0*3+1<=doubleMath.random()*3+1<1.0*3+1
		//1<=(int)(Math.random()*3)+1<4
		

	}//main

}//class

 

13.ex07)

package days05;

import java.util.Iterator;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 4:29:22
 * @subject	if/if~else / if~else if~else if~else 문
 * @content	switch/break
 * 			반복문:[for], foreach(확장for문)
 *
 */
public class Ex07 {

	public static void main(String[] args) {
		// 임의의 숫자(1~3)을 10번 출력하세요.
		//System.out.println((int)((Math.random()*3)+1));
		for (int i = 0; i < 10; i++) {
			System.out.printf("%d) %d\n", i, (int)((Math.random()*3)+1));
		}

		/*
		 * for (Iterator iterator = collection.iterator(); iterator.hasNext();) { type
		 * type = (type) iterator.next();
		 * 
		 * }
		 */

		/*
		 * for (int i = 0; i < args.length; i++) {
		 * 
		 * }
		 */
		
		/*1.[for 선언형식]
		 * for(초기식; 조건식; 증감식;){
		 * 	반복적으로 처리할 코딩
		 * }
		 *2.for 처리 과정 설명하세요
		 *for문을 만나면 젤 처음으로
		 *초기식->조건식
		 *			ㄴ참  ->{반복처리코딩}->증감식 ->조건식 ->참->{반복처리코딩}->증감식 ->조건식->거짓->중단
		 *			ㄴ거짓->for문 빠져나온다.
		 */
		



		/*
		 * for (int i = 0; i < args.length; i++) { String string = args[i];
		 * 
		 * }
		 */

		/*
		for (String string : args) {

		}
		 */

		/*
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 * System.out.println((int)((Math.random()*3)+1));
		 */


	}

}

 

14.ex07_02)

package days05;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 5:13:25
 * @subject 1~10까지의 합=55출력(for문)
 * @content
 *
 */
public class Ex07_02 {

	public static void main(String[] args) {
		int sum=0;
		for (int i = 1; i <= 10; i++) {
			System.out.printf("%d+", i);
			sum +=i; //sum=sum+i
		}//for
		System.out.printf("=%d\n", sum);

	}

}

 

15.ex08)

package days05;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 5:05:18
 * @subject while 조건 반복문
 * @content 1~10까지의 합을 출력while
 *
 */
public class Ex08 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		/*
		while (en.hasMoreElements()) {
			type type = (type) en.nextElement();
			
		}
		while (it.hasNext()) {
			type type = (type) it.next();
			
		}
		while (condition) {
			
		}
		*/
		
		//조건이 참일 동안 반복
		//임의의 숫자(1~3)번을 10번 반복하세요.
		int i=1;	//초기화
		while (i<=10) { //1<=10 참 조건식
			System.out.println((int)((Math.random()*3)+1));
			i++;
		}//while //증감식

	}//main

}//class

 

16.ex08_02)

package days05;

/**
 * @author kim
 * @date 2023. 2. 1.-오후 5:13:30
 * @subject 
 * @content
 *
 */
public class Ex08_02 {

	public static void main(String[] args) {
		int i=1, sum=0;
		while (i<=10) {//i<=10 참
			System.out.printf("%d+", i);
			sum +=i;
			i++;
			
		}//while문은 condition(조건)이 참이 동안 반복하겠다.
		System.out.printf("=%d", sum);

	}

}
728x90