-
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
좌우대칭수
'국비 교육 내용 정리' 카테고리의 다른 글
2023년 05월 31일 공부 내용 정리 ( java) (0) 2023.05.31 2023년 05월 30일 공부 내용 정리 ( java) (0) 2023.05.30 2023년 05월 25일 공부 내용 정리 ( java~ 퀴즈 정리하긔) (1) 2023.05.25 2023년 05월 24일 공부 내용 정리 ( java~) (0) 2023.05.24 2023년 05월 23일 공부 내용 정리 (MYSQL,json) (0) 2023.05.23