JAVA/chapter04_control
Test02 : for_while
GAWON
2023. 5. 25. 16:52
package org.joonzis.test2;
public class Test01 {
public static void main(String[] args) {
// Test01.java
// Q. 10 ~ 1 역순으로 출력하기
// 1. for
for(int i=10; i>=1; i--) {
System.out.println(i);
}
// 2. while
int num = 10;
while(num>=1) {
System.out.println(num);
num--;
}
}
}
package org.joonzis.test2;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
// Test02.java
// Q. 입력받은 구구단만 출력하기
// ex) 4X1=4
// 4X2=8
// 4X3=12
// 4X4=16
// ...
Scanner sc = new Scanner(System.in);
System.out.print("단수 입력 >> ");
int dan = sc.nextInt(); // 4단
for(int i=1; i<=9; i++) {
System.out.println(dan + "X" + i + "=" + (dan*i));
}
int num = 1;
while(num <=9) {
System.out.println(dan + "X" + num + "=" + (dan*num));
num++;
}
sc.close();
}
}
package org.joonzis.test2;
public class Test03 {
public static void main(String[] args) {
// Test03.java
// Q. 전체 구구단 출력하기_1
// ex) 2x1 = 2
// 2x2 = 4
// ...
// 9x9 = 81
for(int dan = 2; dan<=9; dan++) {
for(int num = 1; num<=9; num++) {
System.out.println(dan + "X" + num + "=" + (dan*num));
}
}
}
}
package org.joonzis.test2;
public class Test04 {
public static void main(String[] args) {
// Test04.java
// Q. 전체 구구단 출력하기_2
// ex) 2x1 = 2 3x1 = 3 ... 9x1 = 9
// 2x2 = 4 3x2 = 6 ... 9x2 = 18
// ...
// 2x9 = 18 3x9 = 27 ... 9x9 = 81
for(int i = 1; i<=9; i++) {
for(int j = 2; j<=9; j++) {
System.out.print(j + "X" + i + "=" + (j*i) + "\t");
}
System.out.println();
}
}
}
package org.joonzis.test2;
public class Test05 {
public static void main(String[] args) {
// Test05.java
// Q. 1 ~ 100 사이의 모든 정수 합계 출력하기
int sum = 0;
for(int i=1; i<=100; i++) {
sum = sum + i;
//sum += i;
}
System.out.println(sum);
//---------------------------------------------
int start = 1;
int end = 100;
int num = 0;
for(num = start; num <= end; num++) {
}
//------------------------------------------
// 1부터 100 사이의 모든 정수 중 "짝수"의 합과 "홀수"의 합을 각각 구하여 출력하시오.
int sumOdd = 0; // 홀수 합 변수
int sumEven = 0; // 짝수 합 변수
for(int i=1; i<=100; i++) {
if(i%2==0) {
// 짝수
sumEven += i;
}else {
// 홀수
sumOdd += i;
}
}
System.out.println("짝수의 합 : " + sumEven);
System.out.println("홀수의 합 : " + sumOdd);
}
}
package org.joonzis.test2;
import java.util.Scanner;
public class Test06 {
public static void main(String[] args) {
// Test06.java
// Q. 1부터 입력 받은 양수 사이의 모든 정수의 합계 출력하기
// 입력 받은 수가 2이상이 아니면 다시 입력 받도록 처리
Scanner sc = new Scanner(System.in);
int selNum = 0; // 2이상의 값을 입력 하는 변수
int sum = 0; // 합계 변수
while(true) {
System.out.print("2 이상의 정수 입력 >>");
selNum = sc.nextInt();
if(selNum >= 2) {
break;
}
}
for(int i=1; i<=selNum; i++) {
sum += i;
}
System.out.println("1부터 " + selNum + "까지의 합은 : " + sum);
sc.close();
}
}
package org.joonzis.test2;
import java.util.Scanner;
public class Test07 {
public static void main(String[] args) {
// Test07.java
// Q.두 정수를 입력 받아 두 정수 사이의 모든 정수의 합계 출력하기
// 입력 순서와 무관하게 동일한 결과를 출력
// 실행 예1)
// 첫 번째 정수 >> 1
// 두 번째 정수 >> 10
// 1부터 10까지 모든 정수의 합은 55입니다.
// 실행 예2)
// 첫 번째 정수 >> 10
// 두 번째 정수 >> 1
// 1부터 10까지 모든 정수의 합은 55입니다.
// 값을 2개 입력 받고, 첫 번째 값이 두 번째 값보다 크면 둘이 교환
Scanner sc = new Scanner(System.in);
int fir = 0; // 시작 값
int sec = 0; // 종료 값
int sum = 0; // 총합
int tmp = 0; // 값 교환을 위한 임시 변수
//1. 입력
System.out.print("첫 번째 정수 입력 >> ");
fir = sc.nextInt();
System.out.print("두 번째 정수 입력 >> ");
sec = sc.nextInt();
// 2. 두 정수의 값 비교
// fir > sec 상황일 때 두 변수의 값 교환
if(fir > sec) {
tmp = fir;
fir = sec;
sec = tmp;
}
for(int i=fir; i<=sec; i++) {
sum += i;
}
System.out.println(fir + "~" + sec + "까지의 합 : " + sum);
sc.close();
}
}
package org.joonzis.test2;
import java.util.Scanner;
public class Test08 {
public static void main(String[] args) {
// Test08.java
// Q.Up-Down 게임
// 1 ~ 100 사이에서 임의의 숫자를 하나 결정한 뒤
// 해당 숫자를 맞추는 게임
// 입력 받은 숫자의 크기에 따라 "Up!", "Down!", "Answer!" 로 나눠서 출력하고
// 맞출때까지 몇 번 진행했는지 횟수도 함께 출력
// 실행 예)
// 입력 >> 30
// Up!
// 입력 >> 40
// Down!
// 입력 >> 35
// Down!
// 입력 >> 33
// Answer!
// 총 4회만에 성공!
Scanner sc = new Scanner(System.in);
int ans = 0; // 입력 변수
int count = 0; // 횟수
int cor = 54; // 정답
while (true) {
System.out.print("1~100 사이 정수 입력 >> ");
ans = sc.nextInt();
count++;
if(ans > cor) {
System.out.println("Down!");
}else if(ans < cor) {
System.out.println("Up!");
}else {
System.out.println("Answer!");
System.out.println(count + "회 만에 성공!");
break;
}
}
sc.close();
}
}