JAVA
-
Test053 반복문 while문(11) 구구단 프로그램2020.09.03
-
Test052 반복문 while문(10)2020.09.03
-
Test051 반복문 while문(9)2020.09.03
-
Test050 - 1 소수 구하기 (에라토스테네스의 체)2020.09.03
-
Test049 반복문 while문(7)2020.09.03
Test053 반복문 while문(11) 구구단 프로그램
※ 사용자로부터 원하는 단(구구단)을 입력받아 이에 해당하는 구구단을 출력하는 프로그램을 구현한다. 단, 1단 ~ 9단 사이의 수를 입력받은 상황이 아니라면 프로그램을 종료해 버릴 수 있도록 처리한다.
실행 예)
원하는 단(구구단) 입력 : 7
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
:
7 * 9 = 63
계속하려면 아무 키나 누르세요...
원하는 단(구구단) 입력 :11
1부터 9까지의 정수만 입력 가능합니다.
계속하려면 아무 키나 누르세요...
import java.util.Scanner; public class Test053 { public static void main(String[] args) { // Scanner 인스턴스 생성 Scanner sc = new Scanner(System.in); // 주요 변수 선언 int n; // 단을 입력받을 정수 변수 int i=1; // 반복문을 수행하기 위한 변수 // 연산 및 처리 System.out.print("원하는 단(구구단) 입력 : "); n = sc.nextInt(); // 결과 출력 // 1~9사이가 아닌 값을 입력 받을시 예외처리 if(( !((n<9)&&(n>1)) )) { System.out.println("1부터 9까지의 정수만 입력 가능합니다."); return; } while(i<=9) { System.out.println(n + " * " + i + " = " + (n*i) ); i++; } } }
실행 결과
// 실행 결과 /* 원하는 단(구구단) 입력 : 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 계속하려면 아무 키나 누르십시오 . . . 원하는 단(구구단) 입력 : 0 1부터 9까지의 정수만 입력 가능합니다. 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test055 반복문 do~while문(2) (0) | 2020.09.04 |
---|---|
Test054 반복문 do~while문(1) (0) | 2020.09.04 |
Test052 반복문 while문(10) (0) | 2020.09.03 |
Test051 반복문 while문(9) (0) | 2020.09.03 |
Test050 - 1 소수 구하기 (에라토스테네스의 체) (0) | 2020.09.03 |
Test052 반복문 while문(10)
※ 사용자로부터 임의의 정수를 입력받아 1부터 입력받은 그 수 까지의 전체 합과, 짝수의 합과, 홀수의 합을 각각 결과값으로 출력하는 프로그램을 구현한다.
실행 예)
임의의 정수 입력 : 270
1 ~ 270 까지 정수의 합 : xxxx
1 ~ 270 까지 짝수의 합 : xxxx
1 ~ 270 까지 홀수의 합 : xxxx
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Test052 { public static void main(String[] args) throws IOException { // BufferedReader 인스턴스 생성 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 주요 변수 선언 int n; // 입력받을 정수를 담을 변수 int i=1; // 반복문을 수행할 반복 변수 int sum, evenSum, oddSum; // 정수, 짝수, 홀수의 합을 담을 변수 sum=evenSum=oddSum=0; // 을 0으로 초기화 // 연산 및 처리 System.out.print("임의의 정수 입력 : "); n = Integer.parseInt(br.readLine()); while(i<=n) { oddSum += i++; evenSum += i++; } sum = oddSum + evenSum; // 결과 출력 System.out.println("1 ~ " + n + " 까지 정수의 합 : " + sum); System.out.println("1 ~ " + n + " 까지 짝수의 합 : " + evenSum); System.out.println("1 ~ " + n + " 까지 홀수의 합 : " + oddSum); } }
실행 결과
// 실행 결과 /* 임의의 정수 입력 : 10 1 ~ 10 까지 정수의 합 : 55 1 ~ 10 까지 짝수의 합 : 30 1 ~ 10 까지 홀수의 합 : 25 계속하려면 아무 키나 누르십시오 . . . 임의의 정수 입력 : 14 1 ~ 14 까지 정수의 합 : 105 1 ~ 14 까지 짝수의 합 : 56 1 ~ 14 까지 홀수의 합 : 49 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test054 반복문 do~while문(1) (0) | 2020.09.04 |
---|---|
Test053 반복문 while문(11) 구구단 프로그램 (0) | 2020.09.03 |
Test051 반복문 while문(9) (0) | 2020.09.03 |
Test050 - 1 소수 구하기 (에라토스테네스의 체) (0) | 2020.09.03 |
Test050 반복문 while문(8) 소수 구하기 (1) | 2020.09.03 |
Test051 반복문 while문(9)
※ 사용자로부터 임의의 두 정수를 입력받아 작은 수 부터 큰 수 까지의 합을 구하여 결과를 출력하는 프로그램을 구현한다.
실행 예)
첫 번째 정수 입력 : 10
두 번째 정수 입력 : 20
>> 10 ~ 20 까지의 합 : xxxx
계속하려면 아무 키나 누르세요...
실행 예)
첫 번째 정수 입력 : 10
두 번째 정수 입력 : 2
>> 2 ~ 10 까지의 합 : 54
계속하려면 아무 키나 누르세요...
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Test051 { public static void main(String[] args) throws IOException { // 주요 변수 선언 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n; //-- 루프 변수로 활용할 변수 int su1, su2; //-- 첫 번째, 두 번째 입력하는 정수를 담아낼 변수 int result = 0; //-- 누적합을 담아낼 변수 // 연산 및 처리 System.out.print("첫 번째 정수 입력 : "); su1 = Integer.parseInt(br.readLine()); System.out.print("두 번째 정수 입력 : "); su2 = Integer.parseInt(br.readLine()); // 입력받은 두 수의 크기 비교 및 자리 바꿈 // 즉, su1 이 su2 보다 큰 경우 두 수의 자리를 바꿀 수 있도록 처리 if(su1 > su2) { // 자리 바꿈 su1 = su1 ^ su2; su2 = su2 ^ su1; su1 = su1 ^ su2; } // 반복 연산 수행 // 반복 연산을 수행하기 전에 // 작은 수를 따로 저장하여 루프 변수로 활용한다. // (이유는... 결과를 출력해 주는 과정에서 작은 수(su1)가 필요한데... // 직접 이 수를 증가시켜 나갈 경우... 최종 결과 출력이 불가능하기 때문에...) n = su1; while(su1 <= su2) // 3 6 { result+=su1; //0+3+4+5+6 su1++; } // 결과 출력 System.out.println(">> " + n + " ~ " + su2 + "까지의 합 : " + result); } } // 실행 결과 /* 첫 번째 정수 입력 : 10 두 번째 정수 입력 : 2 >> 2 ~ 10까지의 합 : 54 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test053 반복문 while문(11) 구구단 프로그램 (0) | 2020.09.03 |
---|---|
Test052 반복문 while문(10) (0) | 2020.09.03 |
Test050 - 1 소수 구하기 (에라토스테네스의 체) (0) | 2020.09.03 |
Test050 반복문 while문(8) 소수 구하기 (1) | 2020.09.03 |
Test049 반복문 while문(7) (0) | 2020.09.03 |
Test050 - 1 소수 구하기 (에라토스테네스의 체)
수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 이는 고대 그리스 수학자 에라토스테네스가 발견하였다.
- 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다.
- 2는 소수이므로 오른쪽에 2를 쓴다. (빨간색)
- 자기 자신을 제외한 2의 배수를 모두 지운다.
- 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. (초록색)
- 자기 자신을 제외한 3의 배수를 모두 지운다.
- 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. (파란색)
- 자기 자신을 제외한 5의 배수를 모두 지운다.
- 남아있는 수 가운데 7은 소수이므로 오른쪽에 7을 쓴다. (노란색)
- 자기 자신을 제외한 7의 배수를 모두 지운다.
- 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다.
※ 이를 이용하여 1부터 100사이의 소수를 구하여라
//1~100사이의 소수 구하기 public class Practice1 { public static void main(String[] args) { int n=100; boolean[] chae = new boolean[n+1]; int cnt=0; // 모든 수를 초기화 for(int i=2; i<=100; i++) { chae[i]=true; } chae[1] = false; // for(int i = 2; i * i <= n ; i++) { if(chae[i] == false) continue; for(int j = i * i; j <= n; j+=i) { chae[j] = false; } } //chae[1] = false; for(int i = 2; i < n; i++) { if (chae[i] == true) { System.out.printf("%4d ", i); cnt++; if(cnt%5==0) { System.out.println(); } } } } }
실행 결과
// 실행 결과 /* 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test052 반복문 while문(10) (0) | 2020.09.03 |
---|---|
Test051 반복문 while문(9) (0) | 2020.09.03 |
Test050 반복문 while문(8) 소수 구하기 (1) | 2020.09.03 |
Test049 반복문 while문(7) (0) | 2020.09.03 |
Test048 반복문 while문(6) (0) | 2020.09.03 |
Test050 반복문 while문(8) 소수 구하기
※ 사용자로부터 임의의 정수를 입력받아 입력받은 정수가 소수인지 아닌지를 판별하여 결과를 출력하는 프로그램을 구현한다.
실행 예)
임의의 정수 입력 : 100
100 → 소수 아님
계속하려면 아무 키나 누르세요...
임의의 정수 입력 : 11
100 → 소수
계속하려면 아무 키나 누르세요...
※ 소수 : 1 또는 자기 자신의 값 이외의 어떤 수로도 나누어 떨어지지 않는 수. 단, 1은 소수 아님.
방법 ①
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Test050 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int i = 2; int input; System.out.print("임의의 정수 입력 : "); input = Integer.parseInt(br.readLine()); if(input == 1) { System.out.println(input + " → 소수 아님"); return; } while(i<input) { if (input % i == 0) { System.out.println(input + " → 소수 아님"); return; } i++; } System.out.println(input + " → 소수"); } }
방법 ②
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int i = 1; int input; int cnt = 0; System.out.print("임의의 정수 입력 : "); input = Integer.parseInt(br.readLine()); while(i<=input) { if (input % i == 0) { cnt++; } i++; } if(cnt==2) System.out.println(input + " → 소수"); else System.out.println(input + " → 소수 아님");
방법 ③
// 주요 변수 선언 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num; //-- 사용자 입력값을 담아둘 변수 //연산 및 처리 System.out.print("임의의 정수 입력 : "); num = Integer.parseInt(br.readLine()); int n=2; //-- 입력값을 대상으로 나눗셈 연산을 수행할 변수 // (1씩 증가) 27 → 2 3 4 5 6 ... 26 //String flag = "소수다"; boolean flag = true; while(n < num) // num=7 → n=2~6 / num=50 →n=2~49 { if(num % n == 0) { //flag = "소수가아니다"; flag = false; break; } n++; } // 결과 출력 //System.out.println(num + " → " + flag); //-- 출력 전에 수행해야 할 추가 확인 // → 입력값이 1인지 아닌지에 대한 추가 검토 if(flag && num != 1) { System.out.printf("%d → 소수\n", num); } else { System.out.printf("%d → 소수 아님\n", num); }
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test051 반복문 while문(9) (0) | 2020.09.03 |
---|---|
Test050 - 1 소수 구하기 (에라토스테네스의 체) (0) | 2020.09.03 |
Test049 반복문 while문(7) (0) | 2020.09.03 |
Test048 반복문 while문(6) (0) | 2020.09.03 |
Test047 반복문 while문(5) (0) | 2020.09.03 |
Test049 반복문 while문(7)
※ 1 * 2 * 3 * 4 * ... * 9 * 10 의 연산 결과를 출력하는 프로그램을 구현한다.
public class Test049 { public static void main(String[] args) { // 주요 변수 선언 및 초기화 int n = 0, result = 1; //-- 누적곱을 담을 변수 (→ 1로 초기화 check~!!!) // 연산 및 처리 while (n<10) { n++; result*=n; } // 결과 출력 System.out.println("연산 결과 : " + result); } } // 실행 결과 /* 연산 결과 : 3628800 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test050 - 1 소수 구하기 (에라토스테네스의 체) (0) | 2020.09.03 |
---|---|
Test050 반복문 while문(8) 소수 구하기 (1) | 2020.09.03 |
Test048 반복문 while문(6) (0) | 2020.09.03 |
Test047 반복문 while문(5) (0) | 2020.09.03 |
Test046 반복문 while문(4) (0) | 2020.09.03 |