728x90

1.Ex02)

package days06;

import java.io.IOException;

public class Ex02 {

	public static void main(String[] args) throws IOException {
		//9. 한 문자를 입력받아서 알파벳, 한글, 숫자, 특수문자(#, @, %, !)
		
		//BufferedReader br = new BufferedReader(new InputStreamReader((System.in));
		//Scanner scanner
		int i;
		char one;
		System.out.print(">한 문자 입력?");
		
		//int read() [함수(메서드) 3가지]
		//1.표준입력함수
		//2.매개변수X
		//3.리턴값:스트림의 끝: -1, 0~255
		i=System.in.read(); //'a'엔터 -> i=97
		//System.out.printf("i=%d\n", i);
		
		one=(char)i;
		System.out.printf("one='%c'\n", one);

	}

}

 

2.Ex02_02)

package days06;

import java.io.IOException;

/**
 * @author kim
 * @date 2023. 2. 2.-오후 2:16:57
 * @subject
 * @content
 *
 */
public class Ex02_02 {

	public static void main(String[] args) throws IOException {

		int i, j;
		char one, two;

		//1
		System.out.print(">한 문자 입력?");
		i=System.in.read(); 
		one=(char)i;
		System.out.printf("one='%c'\n", one);
		
		// a   CR  LF
		//[97][13][10][][][][]버퍼(Stream)
		
		//문제해결방법(1)
		//System.in.read(); //13, 엔터라는 값이 있어서 오류가 발생했으니까 읽어서 버리기
		//System.in.read(); //10
		
		//(암기)System.in.read()/System.in.skip(System.in.available)
		System.in.skip(System.in.available()); //남아 있는게 무엇이든지 깨끗하게 하겠다.
		
		System.out.print(">한 문자 입력?");
		i=System.in.read(); 
		one=(char)i;
		System.out.printf("one='%c'\n", one);
		
		System.out.println("End");


	}//main

}//class

 

3.Ex03)

package days06;
/**
 * @author kim
 * @date 2023. 2. 2.-오후 2:46:38
 * @subject
 * @content
 *
 */
public class Ex03 {

	public static void main(String[] args) {
		// 알파벳 출력(대, 소)
		//      ㄴ대문자	'A' <= ch&&ch<='Z'
		//		ㄴ소문자	'a' <= ch&&ch<='z'
		
		//short s = 65; [][][][][][][][][][][][][][][][]
		//char  A='A' [][][][][][][][][][][][][][][][]
		//대문자
		for (int i = 'A'; i <= 'Z'; i++) {
			System.out.printf(" '%c'(%d) ", (char)i, i);
		}//소문자
		System.out.println();
		for (int i = 'a'; i <= 'z'; i++) {
			System.out.printf(" '%c'(%d) ", (char)i, i);
		}//숫자
		System.out.println();
		for (int i = '0'; i <= '9'; i++) {
			System.out.printf(" '%c'(%d) ", (char)i, i);
		}//한글
		System.out.println();
		for (int i = '가'; i <= '힣'; i++) {
			System.out.printf(" '%c'(%d) ", (char)i, (int)i);
		}
		
		
		//한글
		//숫자
		//특수문자

	}//main

}//class

 

4.ex03_02)

package days06;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 2.-오후 2:46:38
 * @subject
 * @content
 *
 */
public class Ex03_02 {

	public static void main(String[] args) {
		// 알파벳 출력(대, 소)
		//      ㄴ대문자	'A' <= ch&&ch<='Z'
		//		ㄴ소문자	'a' <= ch&&ch<='z'
		//한글				'가'<= ch&&ch<='힣'
		//숫자				 '0'<= ch&&ch<='9'
		//특수 문자
		
		//한글은 안된다. char one = (char)System.in.read();//0~255 int
		Scanner scanner = new Scanner(System.in);
		char one;
		System.out.print(">한 문자 입력?");
		String input = scanner.next();
		one=input.charAt(0);
		if (('A' <= one&&one<='Z') || ('a' <= one&&one<='z')) {
			System.out.println("알파벳");
		} else if( '0'<= one&&one<='9') {
			System.out.println("숫자");
		} else if( '가'<= one&&one<='힣') {
			System.out.println("한글");
		} else if( one=='#'||one=='@'||one=='!'||one=='%') { //정규표현식 regular Expression
			System.out.println("특수문자");
		} else {
			System.out.println("알 수 없는 문자");
		}
		
		//스캐너로 한 문자를 읽어가는 메서드는 없음
		//그러므로, scanner.nextChar()은 사용 x
		//nextInt(), nextByte(), nextDouble(), nextBoolean(), nextShort() 등등
		//구분자
		
		//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		//String br.readLine();
		/*
		문자열=문자의 나열
		한문자
		문자열(String)->한문자(Char)로 해주는것은 불가능! 쪼개서 불러오는 것만 가능
		"a"='a''\0'->'a'
		
		String.charAt(index) index에 불러오고 싶은 칸의 수를 입력해주면
		내가 원하는 위치에 있는 한문자를 문자열에서 입력받아올 수 있다.
		String name="홍길동";
		System.out.println(name.charAt(0)); //char
		System.out.println(name.charAt(1));
		System.out.println(name.charAt(2));
		*/

	}//main

}//class

 

5.ex03_03)

package days06;
/**
 * @author kim
 * @date 2023. 2. 2.-오후 3:30:43
 * @subject
 * @content
 *
 */
public class Ex03_03 {

	public static void main(String[] args) {
		String name = "hong gil dong test";

		//char String.charAt(index)

		//문자열의 길이
		int nameLength = name.length();
		//System.out.println(nameLength); //13
		for (int i = 0; i < nameLength; i++) {
			System.out.println(name.charAt(i));
		}
		/*
		System.out.println(  name.charAt(0) );
		System.out.println(  name.charAt(1) );
		System.out.println(  name.charAt(2) );
		System.out.println(  name.charAt(3) );
		System.out.println(  name.charAt(4) );
		System.out.println(  name.charAt(5) );
		System.out.println(  name.charAt(6) );
		System.out.println(  name.charAt(7) );
		System.out.println(  name.charAt(8) );
		System.out.println(  name.charAt(9) );
		System.out.println(  name.charAt(10) );
		System.out.println(  name.charAt(11) );
		System.out.println(  name.charAt(12) );
		*/
	}//main

}//class

 

6.ex03_04)

package days06;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 2.-오후 3:38:32
 * @subject
 * @content
 *
 */
public class Ex03_04 { //시험

	public static void main(String[] args) {
		//정수를 하나 입력...=> n변수에 저장
		int n;

		Scanner scanner = new Scanner(System.in);
		System.out.print("정수(n)을 입력하세요?");
		//n=scanner.nextInt();
		//12a, aaa -> InputMismatchException
		String input=scanner.next();

		//input 문자열 모두 숫자로 이루어져 있는 지 체크(유효성 검사) ->Integer.parseInt()->n
		int len =  input.length();
		// System.out.println(  nameLength  );  // 13

		//  1   2   a
		boolean flag = false;
		for (int i = 0; i < len; i++) {
			char one = input.charAt(i); 
			if(   !( '0' <=  one &&  one <= '9')  )  {
				flag = true;
				break;
			}
		} //
		// if( flag == false)
		if(!flag) {
			n =  Integer.parseInt(input);
			System.out.println(  n  );
		}else {
			System.out.println("숫자만 입력하세요~");
		}

	}//main

}//class

7.ex04)

package days06;

/**
 * @author kim
 * @date 2023. 2. 2.-오후 4:07:31
 * @subject	중첩 if문, ***중첩 for문-별찍기***
 * @content
 *
 */
public class Ex04 {

	public static void main(String[] args) {
		// 중첩 for문
		/*
		i=1 1<=4 (참)
		
		*/
		for(int i=1; i<=4; i++) {	//행갯수
			//System.out.println("****");
			//*X4+개행
			for(int j=1; j<=4; j++) {	//별(열)갯수
				System.out.print("*");
			}//for j
			System.out.println();//개행
		}//for i

	}//main

}//class

 

8.ex05)

package days06;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 2.-오후 4:25:18
 * @subject
 * @content	10.  두 정수 n, m을 입력받아서 
      두 정수 사이의 합을 구해서 출력
      예) 입력형식) 두 정수 입력 ? 3 5 엔터
          출력형식) 3+4+5=12
 *
 */
public class Ex05 {

	public static void main(String[] args) {
		// 1)두 정수 입력
		int n, m; 
		int sum=0;
		Scanner scanner = new Scanner(System.in);
		System.out.print(">n, m 정수 입력");
		n=scanner.nextInt();
		m=scanner.nextInt();
		
		//2)for/while sum~
		/*1번째
		if(n>m) {
			for (int i = m; i <= n; i++) {
				sum+=i;
				System.out.printf("%d+", i);
			}System.out.printf("=%d", sum);
		} else if(n<m) {
			for (int i=n; i<=m; i++) {
				sum+=i;
				System.out.printf("%d+", i);
			}System.out.printf("=%d", sum);
		} else {
			System.out.printf("%d+%d=%d", n, m, n+m);
		}
		*/
		
		/*2번째
		if(n>m) {
			int temp=n;
			n=m;
			m=temp;
		}
		for (int i=n; i<=m; i++) {
			System.out.printf("%d+", i);
			sum+=i;
		}System.out.printf("=%d", sum);
		*/
		
		/*3번째
		int min = n>m?m:n;
		int max = n>m?n:m;
		for (int i = min; i <= max; i++) {
			System.out.printf("%d+", i);
			sum+=i;
		}System.out.printf("\b=%d\n", sum);
		*/
		
		//Math 수학 관련 기능 구현된 클래스
		int min = Math.min(n, m);
		int max = Math.max(n, m);
		for (int i = min; i <= max; i++) {
			System.out.printf("%d+", i);
			sum+=i;
		}System.out.printf("\b=%d\n", sum);

	}//main

}//class

 

9.ex05_01)

package days06;

import java.util.Scanner;

//1번 문제
		// *
		// **
		// ***
		// ****
public class Ex05_01 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("출력할 라인의 수?");
		int leng=scanner.nextInt();
		
		for (int i = 1; i <= leng; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print("*");
			}System.out.println();
		}

	}

}

 

10.ex05_02)

package days06;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 2.-오후 5:27:16
 * @subject
 * @content 
 * // 2번 문제
		// ****
		// ***
		// **
		// *
 *
 */
public class Ex05_02 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print(">출력할 라인의 수?");
		int leng = scanner.nextInt();
		for (int i = 0; i < leng; i++) {
			for (int j = leng; j > i; j--) {
				System.out.print("*");
			}System.out.println();
		}
		
		
		
		/*방법2)
		for (int i =1; i <= leng; i++) {
			for (int j=1; j+i <=leng+1; j++) {
				System.out.print("*");
			}System.out.println();
		}
		*/
	}

}

 

11.ex05_03)

package days06;

import java.util.Iterator;
import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 2.-오후 5:44:27
 * @subject
 * @content // 3번 문제
		// ___*
		// __**
		// _***
		// ****
 *
 */
public class Ex05_03 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print(">출력하고자 하는 행은?");
		int leng = scanner.nextInt();
		for (int i = 0; i < leng; i++) {
			for (int j = leng-1; j >1; j--) {
				System.out.print(" ");
			}
			for (int j = 0; j <= i; j++) {
				System.out.print("*");
			}System.out.println();
		}

	}

}

 

12.ex05_04)

package days06;

import java.util.Iterator;
import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 2.-오후 5:48:26
 * @subject
 * @content // 4번 문제
		// ****
		// _***
		// __**
		// ___*
 *
 */
public class Ex05_04 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("별의 행은?");
		int leng = scanner.nextInt();
		for (int i = 0; i <=leng; i++) {
			for (int j = 0; j < i; j++) {
				System.out.print(" ");
			}
			for (int j = leng; j > i; j--) {
				System.out.print("*");
			}System.out.println();
		}//for i

	}//main

}//class

 

13.ex05_05)

package days06;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 2.-오후 6:11:06
 * @subject
 * @content // 5번 문제 ( 이등변 삼각형 )
		// __*
		// _***
		// *****
 *
 */
public class Ex05_05 {

	public static void main(String[] args) {
		for (int i =0; i <= 2; i++) {
			System.out.println();
			for (int j = 2; j >i ; j--) {
				System.out.print("_");
			}
			for (int j = 0; j <= (i*2); j++) {
				System.out.print("*");
			}
		}
	}//main

}//class
/*
 	static void StarTree(int n) {
		for (int i =0; i <= n; i++) {
			System.out.println();
			for (int j = n; j >i ; j--) {
				System.out.print(" ");
			}
			for (int j = 0; j <= (i*2); j++) {
				System.out.print("*");
			}
		}
		System.out.println("\n-----------");
	}

 */

 

14.ex05_06)

package days06;

public class Ex05_06 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
/*
static void StarTree_down(int n) {
for (int i = 0; i<n  ; i++) {
	for (int j = n; j >n-i; j--) {
		System.out.print(" ");
	}
	for (int j=n; j>2*i-4;j--) {
		System.out.print("*");
	}
	System.out.println();
}
}
}
*/

 

15.Test01)

package days06;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 2.-오전 9:09:44
 * @subject
 * @content (if문 사용해서)
    국어점수(kor)를 입력받아서 수,우,미,양,가 출력
 *
 */
public class Test01 {

	public static void main(String[] args) {
		int kor;
		Scanner scanner = new Scanner(System.in);
		System.out.print("국어 점수를 입력하세요:");
		kor=scanner.nextInt();
		if(0<=kor && kor<=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 {
				System.out.println("가");
			}
		}else {
			System.out.println("잘못입력!");
		}

	}

}

 

16.test02)

package days06;

import java.util.Scanner;

/**
 * @author kim
 * @date 2023. 2. 2.-오전 9:17:48
 * @subject
 * @content (switch문 사용해서)
    국어점수(kor)를 입력받아서 수,우,미,양,가 출력
 *
 */
public class Test02 {

	public static void main(String[] args) {
		int kor;
		Scanner scanner = new Scanner(System.in);
		System.out.print("국어 점수를 입력하세요:");
		kor=scanner.nextInt();
		if(0<=kor && kor<=100) {
			switch (kor/10) {
			case 10:
				System.out.println("수");
				break;
			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;
			}
		}else {
			System.out.println("잘못입력!");
		}

	}

}

 

17.test03)

package days06;

/**
 * @author kim
 * @date 2023. 2. 2.-오전 9:22:59
 * @subject
 * @content (for문 사용해서 코딩)       
    "헬로우 월드" 문자열을 10번 출력하는 코딩
 *
 */
public class Test03 {

	public static void main(String[] args) {
		String hello = "헬로우 월드";
		for (int i = 1; i <= 10; i++) {
			System.out.printf("%02d - %s\n", i, hello);
			
		}

	}

}

 

18.test04)

package days06;

public class Test04 {

	public static void main(String[] args) {
		
		String hello = "헬로우 월드";
		int i=1;
		while (i<=10) {
			System.out.printf("%02d - %s \n", i, hello);
			i++;
		}

	}

}

 

19.test05)

package days06;

/**
 * @author kim
 * @date 2023. 2. 2.-오전 9:32:05
 * @subject
 * @content (for문 사용해서 코딩) 
   1~10까지의 [홀수의 합]을 구해서 출력 
 *
 */
public class Test05 {

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

	}

}

 

20.test06)

package days06;

//10+의 마지막 반복 숫자 뒤의 + 기호는 제거하자.
public class Test06 {

	public static void main(String[] args) {
		int i=1; int sum=0;
		//while (i++<=10) { //2+3+4+5+6+7+8+9+10+11+=65
		//일단 i랑 10이랑 크기비교 먼저 담, 크키비교 끝난 i의 값 +1 
		while (++i<=10) { //i+1먼저 더하고 시작, 그후 10이랑 비교 //2+3+4+5+6+7+8+9+10+=54
			System.out.printf("%d+", i);
			sum+=i;
		}//while
		System.out.printf("=%d", sum);

	}

}
/*sol1)
 int i=0; int sum=0;
		while (++i<=10) { //i+1먼저 더하고 시작, 그후 10이랑 비교 //2+3+4+5+6+7+8+9+10+=54
			if(i%2==0) continue;
			System.out.printf("%d+", i);
			sum+=i;
		}//while
		System.out.printf("=%d", sum);
 */
/*sol2)
 int i=1; int sum=0;
		while (i<=10) {
			System.out.printf("%d+", i);
			sum+=i++; //1+2+3+4+5+6+7+8+9+10+=55
			//sum+=++i; //1+2+3+4+5+6+7+8+9+10+=65
		}//while
		System.out.printf("=%d", sum);
 */
/* while continue를 이용할 홀수 합 구하는 방법
 int i=1; int sum=0;
		while (i<=10) {
			if(i%2==0) {
				i++;
				continue;//while문에서 continue문을 만나면 조건식으로 이동
			} 
			System.out.printf("%d+",i);
			sum+=i;
			i++;
		}//while
		System.out.printf("=%d", sum);
 */
/* 10+빼고 출력하는 방법
System.out.printf(i==10?"%d":"%d+", i);
if(i==10) {
	System.out.printf("%d", i);
}else {
	System.out.printf("%d+",i);
}
sum+=i;
i++;
 */

 

21.test07)

package days06;

public class Test07 {

	public static void main(String[] args) {
		/*sol1
		int sum=0;
		for(int i=1; i<=10; i++) {
			//만약에 i가 짝수라면 출력+누적 하지 말고 바로 증감식으로 가세요.
			if(i%2==0) continue; //i가 짝수 일때는밑에if{}문을 실행하지 말고 바로 증감식으로 가라
			System.out.printf("%d+",i);
			sum+=i;
		}//
		System.out.printf("=%d\n", sum);
		*/
		//sol2
		int sum=0;
		for(int i=1; i<=10; i+=2) {
			System.out.printf("%d+", i);
			sum+=i;
		} System.out.printf("=%d", sum);
		
		//sol3는 test05.java
	}

}

 

22.test08)

package days06;
/**
 * @author kim
 * @date 2023. 2. 2.-오후 12:17:06
 * @subject while, do~while
 * @content while 조건 반복문 : 한번도 반복해서(수행)하지 않을 경우가 있다.
 * 			do while 조건 반복문:참, 거짓에 관계 없이
 * 								최소한 한번은 실행이 되고 나서~
 *
 */
public class Test08 {

	public static void main(String[] args) {
		/*
		int sum=0, i=1;
		while(i>10) { // 1>10 거짓이므로, while문 수행하지 X
			System.out.printf("%d+", i);
			sum+=i;
			i++;
		}//while
		System.out.printf("=%d", sum);
		*/
		
		int sum=0, i=1;
		
		do {
			System.out.printf("%d+", i); //1+
			sum+=i; //1
			i++;	//2
		} while (i>10); //처음부터 거짓
		
		System.out.printf("=%d", sum);

	}

}
728x90