ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2023년 05월 26일 공부 내용 정리 ( java~ 퀴즈 정리하긔)
    국비 교육 내용 정리 2023. 5. 26. 09:09

    (quiz01)

     

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    /*

    * 사과를 사과 상자에 담기로 한다. 1개의 상자에 10개의 사과를 담을 수 있다.

    * 필요한 사과 상자의 갯수를 출력하기

    * [결과]

    * 사과의 갯수를 입력하세요

    * 22

    * 필요한 상자의 갯수 : 3

    *

    * 사과의 갯수를 입력하세요

    * 30

    * 필요한 상자의 갯수 : 3

    */

    public class Quiz03 {

    public static void main(String[] args) {

    System.out.println("사과의 갯수를 입력하세요");

    Scanner scan = new Scanner(System.in);

    int num = scan.nextInt();

     

    System.out.println((num%10==0)?(num/10):(num/10 +1));

     

     

    <코드값 : 다시 풀어보기>

     

    package ch04.controll;

    import java.util.Scanner;

    /*

    * 10부터 99사이의 두자리 자연수를 입력받아 입력수보다 크거나 같은 가장 작은 10의 배수를 구하기

    * 10의배수에 입력수를 뺀 값을 출력하기 :

    * [결과]

    * 10부터 99까지의 수를 입력하세요

    * 24

    * 30 - 24 = 6

    *

    * 10부터 99까지의 수를 입력하세요

    * 20

    * 20 - 20 = 0

    *

    * 10부터 99까지의 수를 입력하세요

    * 77

    * 80 - 77 = 3

    */

    public class Quiz01 {

    public static void main(String[] args) {

    System.out.println("10부터 99까지의 두자리수를 입력하세요");

    Scanner scan = new Scanner(System.in);

    int num = scan.nextInt();

    int result = (num%10==0)?num:((num/10+1)*10);

    System.out.println(result+"-"+num+"="+(result -num));

     

     

     

    }

    }

    ============================================================================================

    <코드값: 반복문>

    package ch04.controll;

    /*반복문을 이용하여 1부터 10까지의 합 구하기*/

    public class LoopEx02 {

    public static void main(String[] args) {

    int i = 0;

    int sum = 0;

    System.out.println("for 구문을 이용하기");

    for (i = 1; i <= 10; i++) {

    sum += i;

    }

    System.out.println("합: " + sum);

    i = 1;

    sum = 0;

    System.out.println("while 구문을 이용하기");

    while (i <= 10) {

    sum += i;

    i++;

    }

    System.out.println("합: " + sum);

    i = 1;

    sum = 0;

    System.out.println("do while 구문을 이용하기");

    do {

    sum += i;

    i++;

    } while (i <= 10);

    System.out.println("합: " + sum);

    }

    }

    <출력값>

    for 구문을 이용하기

    합: 55

    while 구문을 이용하기

    합: 55

    do while 구문을 이용하기

    합: 55

     

     

    <코드값: 반복문2>

    package ch04.controll;

    /*반복문을 이용하여 1부터 10까지의 합 구하기*/

    public class LoopEx02 {

    public static void main(String[] args) {

    int i = 0;

    int sum =0;

     

    System.out.println("for 구문을 이용하기");

    for (i = 1; i <= 10; i++) {

    sum += i;

    }

    System.out.println("합: " + sum);

    i = 1; sum=0;

    sum = 0;

    System.out.println("while 구문을 이용하기");

    while (i <= 10) {

    sum += i;

    i++;

    }

    System.out.println("1~10 까지의 합: " + sum);

    i = 1; sum = 0;

     

    System.out.println("do while 구문을 이용하기");

    do {

    sum += i;

    i++;

    } while (i <= 10);

    System.out.println("1~10 까지의 합:" + sum);

    }

    }

    <출력값>

    for 구문을 이용하기

    합: 55

    while 구문을 이용하기

    1~10 까지의 합: 55

    do while 구문을 이용하기

    1~10 까지의 합:55

     

    <코드값: 구구단>

    package ch04.controll;

    /*중첩 반복문: 반복문 내부에 반복문이 구현됨.

    구구단 출력하기

    */

    public class LoopEx03 {

    public static void main(String[] args) {

     

    for(int i=2; i<=9; i++) {

    System.out.println(i + "단");

    for(int j = 1; j <=9 ; j++) {

    System.out.println(i + "*" +j+"="+(i*j));

     

     

    }

     

    }

    }

    }

    <출력값>

    2단

    2*1=2

    2*2=4

    2*3=6

    2*4=8

    2*5=10

    2*6=12

    2*7=14

    2*8=16

    2*9=18

    3단

    3*1=3

    3*2=6

    3*3=9

    3*4=12

    3*5=15

    3*6=18

    3*7=21

    3*8=24

    3*9=27

    4단

    4*1=4

    4*2=8

    4*3=12

    4*4=16

    4*5=20

    4*6=24

    4*7=28

    4*8=32

    4*9=36

    5단

    5*1=5

    5*2=10

    5*3=15

    5*4=20

    5*5=25

    5*6=30

    5*7=35

    5*8=40

    5*9=45

    6단

    6*1=6

    6*2=12

    6*3=18

    6*4=24

    6*5=30

    6*6=36

    6*7=42

    6*8=48

    6*9=54

    7단

    7*1=7

    7*2=14

    7*3=21

    7*4=28

    7*5=35

    7*6=42

    7*7=49

    7*8=56

    7*9=63

    8단

    8*1=8

    8*2=16

    8*3=24

    8*4=32

    8*5=40

    8*6=48

    8*7=56

    8*8=64

    8*9=72

    9단

    9*1=9

    9*2=18

    9*3=27

    9*4=36

    9*5=45

    9*6=54

    9*7=63

    9*8=72

    9*9=81

    <코드값: break>

    package ch04.controll;

    /*그 외 제어문

    break : 반복문이나 switch 구문을 빠짐

    continue: 반복문의 처음으로 제어를 이동*/

    public class LoopEx04 {

    public static void main(String[] args) {

    for (int i = 2; i <=9; i++) {

    System.out.println(i + "단");

     

    for(int j =2; j <=9 ; j++) {

    if (j==5) break; // 곱하기 뒤의 수식이 5이면 break 그러니까 4까지 출력한다.

    System.out.println(i + "*" + j+ "="+(i*j));

    }

    }

    }

    }

    <출력값>

    2단

    2*2=4

    2*3=6

    2*4=8

    3단

    3*2=6

    3*3=9

    3*4=12

    4단

    4*2=8

    4*3=12

    4*4=16

    5단

    5*2=10

    5*3=15

    5*4=20

    6단

    6*2=12

    6*3=18

    6*4=24

    7단

    7*2=14

    7*3=21

    7*4=28

    8단

    8*2=16

    8*3=24

    8*4=32

    9단

    9*2=18

    9*3=27

    9*4=36

    <코드값 : continue>

    package ch04.controll;

    /*그 외 제어문

    break : 반복문이나 switch 구문을 빠짐

    continue: 반복문의 처음으로 제어를 이동*/

    public class LoopEx04 {

    public static void main(String[] args) {

    for (int i = 2; i <=9; i++) {

    System.out.println(i + "단");

     

    for(int j = 2; j <=9 ; j++) {

    if (j==5) continue; // continue를 사용 하면 5만 없고 나머지 모두 출력

    System.out.println(i + "*" + j+ "="+(i*j));

    }

    }

    }

    }

    <출력값>

    2단

    2*2=4

    2*3=6

    2*4=8

    2*6=12

    2*7=14

    2*8=16

    2*9=18

    3단

    3*2=6

    3*3=9

    3*4=12

    3*6=18

    3*7=21

    3*8=24

    3*9=27

    4단

    4*2=8

    4*3=12

    4*4=16

    4*6=24

    4*7=28

    4*8=32

    4*9=36

    5단

    5*2=10

    5*3=15

    5*4=20

    5*6=30

    5*7=35

    5*8=40

    5*9=45

    6단

    6*2=12

    6*3=18

    6*4=24

    6*6=36

    6*7=42

    6*8=48

    6*9=54

    7단

    7*2=14

    7*3=21

    7*4=28

    7*6=42

    7*7=49

    7*8=56

    7*9=63

    8단

    8*2=16

    8*3=24

    8*4=32

    8*6=48

    8*7=56

    8*8=64

    8*9=72

    9단

    9*2=18

    9*3=27

    9*4=36

    9*6=54

    9*7=63

    9*8=72

    9*9=81

     

    <코드값: 여기부터 .. 디스플레이 다크모드로 진행:) >

    package ch04.controll;

    import java.util.Scanner;

    /*무한 반복(루프): 절대 종료되지 않는 프로그램.

    화면에서 숫자를 입력받기. 99999 숫자 입력되면 입력을 종료함.

    입력 종료시 숫자의 총합과 평균을 구하기

    */

    public class LoopEx05 {

    public static void main(String[] args) {

     

    System.out.println("숫자를 입력하세요(종료:99999)");

    Scanner scan = new Scanner(System.in);

    while(true) {

    int num = scan.nextInt();

    if (num==99999) break;

    System.out.println(num);

    }

     

     

     

    }

    }

     

    <출력값>

    숫자를 입력하세요(종료:99999)

    11

    11

    22

    22

    33

    33

    99999

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    /*무한 반복(루프): 절대 종료되지 않는 프로그램.

    화면에서 숫자를 입력받기. 99999 숫자 입력되면 입력을 종료함.

    입력 종료시 숫자의 총합(sum)과 평균(cnt)을 구하기

    */

    public class LoopEx05 {

    public static void main(String[] args) {

     

    System.out.println("숫자를 입력하세요(종료:99999)");

    Scanner scan = new Scanner(System.in);

    int sum=0, cnt=0;

    while(true) {

    int num = scan.nextInt();

    if (num==99999) break;

    sum+=num;

    cnt++;

    // System.out.println(num);

    }

    System.out.println("총합:" + sum);

    System.out.println("평균:" + (double)sum/cnt);

     

     

     

    }

    }

    <출력값>

    숫자를 입력하세요(종료:99999)

    11

    22

    33

    99999

    총합:66

    평균:22.0

     

    <코드값 : math.random >

    math.random. 은    0 < Math.random() < 1   일반적으로 정해져 있는 기능을 쓰는것이다.

    출력하면 랜덤으로 0.xxxxxx 나올것.. 

     

     ex01)   0 < Math.random()  * 10< 1

     ex02)    0  < (int)   <10         => (int) 를 주었을때 출력을 하면 0,1,2,3,4,5,6,7,8,9 가 나올것.

     ex03)   1 ~10 수 random 하고 싶다 하믄  1  <  (int)   (              ) +1   <11  하면 된다 .

    <코드값>

    package ch04.controll;

    /*****

    *****

    *****

    *****

    */

    public class LoopEx06 {

    public static void main(String[] args) {

    int row = (int)(Math.random()*10)+1;

    int col = (int)(Math.random()*10)+1;

    System.out.println("row:"+row+", col:"+col);

    for(int i = 0 ; i < row ; i++) {

    for(int j = 0; j < col ; j++) {

    System.out.println("*");

    }

    System.out.println();

    }

    }

    <출력값> 

     

    해보도록!

     

     

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    /*switch 구문 예제

    점수를 입력받아 A ~ F 학점 출력하기

    switch(변수,수식) {

    case 값1 : 문장1; break;

    case 값2 : 문장2; break;

    ***

    default : 문장;

    }*/

    /*break 문장 : break가 속한 switch 구문, 반복문을 빠짐. */

    public class SwitchEx01 {

    public static void main(String[] args) {

     

    Scanner scan = new Scanner(System.in);

    System.out.println("점수를 입력하세요");

    int score = scan.nextInt();

     

    String grade;

    switch (score / 10) {

    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"; break;

     

    }

    System.out.println(grade + "학점");

     

    }

    }

     

    <출력값> 

     

    점수를 입력하세요

    100

    A학점

     

     

    <코드값>

    package ch04.controll;

    public class SwitchEx02 {

    public static void main(String[] args) {

    String value = "1";

    switch(value) {

    //범위 지정 안됨.

    case "1" : System.out.println(value); break;

    case "2" : System.out.println(value); break;

    default : System.out.println(value); break;

    }

     

    int value2 = 1;

    switch(value2) {

    // 범위 지정 안됨.

    case 1 : System.out.println(value); break;

    case 2 : System.out.println(value); break;

    default: System.out.println(value); break;

    }

    }

    }

     

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    public class ExControl01 {

    /*

    * 조건문 if를 이용하여 숫자를 입력받아 양수인 경우 "양수", 음수인 경우 "음수", 0인 경우는 "0" 출력하기

    */

    public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    System.out.println("숫자를 입력하세요.");

    int num = scan.nextInt();

     

    if(num > 0) {

    System.out.println("양수");

    }

    else if(num < 0) {

    System.out.println("음수");

    }

    else if(num == 0) {

    System.out.println("0 입니다.");

    }

    }

    }

    <출력값>

    숫자를 입력하세요.

    0

    0 입니다.

     

    <quiz 01 : me 이게 더 간편 한듯? >

    package ch04.controll;

    import java.util.Scanner;

    public class Excont02 {

     

    /*

    * 키보드에서 한개의 문자를 입력받아서 대문자, 소문자, 숫자, 기타문자인 출력하기

    */

    public static void main(String[] args) {

    System.out.println("한개의 문자를 입력하세요");

    Scanner scan = new Scanner(System.in);

    char ch = scan.next().charAt(0);

     

    if (Character.isUpperCase(ch)) {

    System.out.println(ch + "는 대문자입니다.");

    }

    else if(Character.isLowerCase(ch)) {

    System.out.println(ch+ "는 소문자입니다.");

    }

    else if(Character.isDigit(ch)) {

    System.out.println(ch + "는 숫자입니다");

    }

    else {

    System.out.println("기타 문자입니다.");

    }

     

     

    }

    }

    <출력값>

    한개의 문자를 입력하세요

     

    <quiz 01 :  teacher>

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    public class Excont02 {

     

    /*

    * 키보드에서 한개의 문자를 입력받아서 대문자, 소문자, 숫자, 기타문자인 출력하기

    */

    public static void main(String[] args) {

    System.out.println("한개의 문자를 입력하세요");

    Scanner scan = new Scanner(System.in);

    char ch = scan.next().charAt(0);

     

    if(ch>='A' && ch<='Z') {

    System.out.println("대문자");

    }

    else if(ch>='a' && ch<='z') {

    System.out.println("소문자");

    }

    else if(ch>='0' && ch<='9') {

    System.out.println("숫자");

    }

    else {

    System.out.println("기타문자");

    }

     

    }

    }

     

    <출력값>

    한개의 문자를 입력하세요

     

    <코드값: ln을 지워야함!  살펴보>

    package ch04.controll;

    /*중첩 반복문 : 반복문 내부에 반복문이 존재.

    구구단 가로 출력하기

    2*2=4 3*2=6 ...... 9*2=18

    2*3=6 3*3=9

    */

    public class ExCont03 {

    public static void main(String[] args) {

     

    for (int i =2; i<=9; i++) {

    System.out.println(i);

    for (int j =2; j <=9; j++) {

    System.out.print(j+"*"+i+"="+(j*i)+ "\t");

    }

    System.out.println();

    }

    }

    }

    <출력값>

    2

    2*2=4 3*2=6 4*2=8 5*2=10 6*2=12 7*2=14 8*2=16 9*2=18

    3

    2*3=6 3*3=9 4*3=12 5*3=15 6*3=18 7*3=21 8*3=24 9*3=27

    4

    2*4=8 3*4=12 4*4=16 5*4=20 6*4=24 7*4=28 8*4=32 9*4=36

    5

    2*5=10 3*5=15 4*5=20 5*5=25 6*5=30 7*5=35 8*5=40 9*5=45

    6

    2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 7*6=42 8*6=48 9*6=54

    7

    2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 8*7=56 9*7=63

    8

    2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 9*8=72

    9

    2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

     

    <코드값 : 어렵다.> 

    package ch04.controll;

    import java.util.Scanner;

    public class Excont04 {

     

    /*

    * 화면에서 자연수를 입력받아 각각의 자리수의 합을 구하기.

    * [결과] 자연수를 입력하세요

    * 123 자리수 합: 6

    * 자연수를 입력하세요 1357

    * 자리수 합 : 16

    */

    public static void main(String[] args) {

    System.out.println("자연수를 입력하세요");

    Scanner scan = new Scanner(System.in);

    int num = scan.nextInt();

    int sum = 0;

    for(; num !=0; num/=10) {

    System.out.println(num+ ":"+num%10);

    sum +=num%10;

     

    System.out.println("자리수 합:" + sum);

     

    }

    <출력값>

    자연수를 입력하세요

    1357

    1357:7

    자리수 합:7

    135:5

    자리수 합:12

    13:3

    자리수 합:15

    1:1

    자리수 합:16

     

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    /*숫자로 이루어진 문자열을 입력받아 각 자리수 합을 구하기:

    String str = scan.next(); //123

    str.length() : 3. 문자열 길이

    str.charAt(0) => '1'

    str.charAt(1) => '2'

    str.charAt(2) => '3'

    str.charAt(3) => 사용안됨

    for 구문 이용

    */

    public class ExCont05 {

    public static void main(String[] args) {

    System.out.println("문자열을 입력하세요");

    Scanner scan = new Scanner(System.in);

    String str = scan.next();

     

    int sum = 0;

     

    for (int i = 0; i < str.length(); i++) {

    sum += (str.charAt(i) - '0');

    }

     

    System.out.println("자리수 합: " + sum);

    }

    }

     

    <출력값>

    문자열을 입력하세요

    12345

    자리수 합: 15

     

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    /*1. 1부터 100까지 수중에 2의 배수이거나 3의 배수의 합구하기

    2 3 4 6 8 9 10 12 14 15

    2. 1부터 100까지 수중에 2의 배수도 아니고 3의 배수도 아닌 수의 합구하기

    1 5 8 11 13 17

    */

    public class ExCont06 {

    public static void main(String[] args) {

    String str1 = "";

    String str2 = "";

    int sum1 = 0, sum2 = 0;

    for (int i = 1; i <= 100; i++) {

    if (i % 2 == 0 || i % 3 == 0) {

    str1 += i + " ";

    sum1 += i;

    } else {

    str2 += i + " ";

    sum2 += i;

    }

    }

    System.out.println(str1);

    System.out.println(str2);

    System.out.println("2의 배수이거나 3의 배수의 합: " + sum1);

    System.out.println("2의 배수도 아니고 3의 배수도 아닌 수의 합: " + sum2);

    }

    }

    <출력값>

    2 3 4 6 8 9 10 12 14 15 16 18 20 21 22 24 26 27 28 30 32 33 34 36 38 39 40 42 44 45 46 48 50 51 52 54 56 57 58 60 62 63 64 66 68 69 70 72 74 75 76 78 80 81 82 84 86 87 88 90 92 93 94 96 98 99 100

    1 5 7 11 13 17 19 23 25 29 31 35 37 41 43 47 49 53 55 59 61 65 67 71 73 77 79 83 85 89 91 95 97

    2의 배수이거나 3의 배수의 합: 3417

    2의 배수도 아니고 3의 배수도 아닌 수의 합: 1633

     

    <코드값: 신기.. 알아보기!> 

    package ch04.controll;

    import java.util.Scanner;

    /* 화면에 삼각형 높이를 받고, 높이에 맞는 *로 삼각형 출력하기

    [결과]

    삼각형의 높이를 입력하세요.

    3

    *

    **

    ***

    삼각형의 높이를 입력하세요

    5

    * :1

    ** :2

    *** :3

    **** :4

    *****:5

    */

    public class ExCont08 {

    public static void main(String[] args) {

    System.out.println("삼각형의 높이를 입력하세요");

    Scanner scan = new Scanner(System.in);

    int len = scan.nextInt();

     

    for(int i =1; i <= len; i++) {

    for(int j =1; j <=i; j++) {

    System.out.print("*");

    }

    System.out.println();

    }

    }

    }

     

     

     

    <출력값>

    삼각형의 높이를 입력하세요

    3

    *

    **

    ***

     

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    /*화면에 삼각형 높이를 입력받고, 높이에 맞는 *로 삼각형 출력하기

    [결과]

    삼각형의 높이를 입력하세요

    3

    ***

    **

    *

    **/

    public class ExCont09 {

    public static void main(String[] args) {

    System.out.println("삼각형의 높이를 입력하세요");

    Scanner scan = new Scanner(System.in);

    int len = scan.nextInt();

     

    for(int i = len; i >= 1; i--) {

    for(int j = 1; j <= i; j++) {

    System.out.print("*");

    }

    System.out.println();

    }

    }

    }

    <출력값>

    삼각형의 높이를 입력하세요

    3

    ***

    **

    *

     

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    /* 화면에 삼각형 높이를 입력받고, 높이에 맞는 *로 삼각형 출력하기

    [결과]

    삼각형의 높이를 입력하세요.

    삼각형 높이를 입력하세요.:

    7

    *

    **

    ***

    ****

    *****

    ******

    *******

    **/

    public class ExCont10 {

    public static void main(String[] args) {

    System.out.println("삼각형의 높이를 입력하세요.");

    Scanner scan = new Scanner(System.in);

    int height = scan.nextInt();

     

    for (int i = 1; i <= height; i++) {

    for (int j = 1; j <= height - i; j++) {

    System.out.print(" ");

    }

     

    for (int k = 1; k <= i; k++) {

    System.out.print("*");

    }

     

    System.out.println();

    }

    }

    }

    <출력값>

    삼각형의 높이를 입력하세요.

    33

    *

    **

    ***

    ****

    *****

    ******

    *******

    ********

    *********

    **********

    ***********

    ************

    *************

    **************

    ***************

    ****************

    *****************

    ******************

    *******************

    ********************

    *********************

    **********************

    ***********************

    ************************

    *************************

    **************************

    ***************************

    ****************************

    *****************************

    ******************************

    *******************************

    ********************************

    *********************************

     

    <코드값>

    package ch04.controll;

    import java.util.Scanner;

    /*입력 받은 숫자가 좌우대칭수인지 판단하기

    숫자를 입력하세요

    121

    좌우대칭수

    123

    좌우대칭수아님

    */

    public class ExCont13 {

    public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    System.out.println("숫자를 입력하세요");

    int num = scan.nextInt();

    System.out.println(num);

    int temp = num;

    int result =0;

    while(temp!=0) {

    result *=10;

    System.out.println(result+":"+temp/10+":"+temp%10);

    result += temp%10;

    System.out.println(result);

    temp /=10;

    }

    if(num == result) {

    System.out.println("좌우대칭수 ");

    } else {

    System.out.println("좌우대칭수아님");

     

    }

     

    <출력값>

    숫자를 입력하세요

    12344321

    12344321

    0:1234432:1

    1

    10:123443:2

    12

    120:12344:3

    123

    1230:1234:4

    1234

    12340:123:4

    12344

    123440:12:3

    123443

    1234430:1:2

    1234432

    12344320:0:1

    12344321

    좌우대칭수

Designed by Tistory.