for문
예제)
2개의 정수 (base, n) 입력받아
base의 n제곱 출력
Scanner scan = new Scanner(System.in);
System.out.print("base 입력 : ");
int base = scan.nextInt();
System.out.print("정수n 입력 : ");
int num1 = scan.nextInt();
int sum = 1;
for (int i = 1; i < num1 + 1; i++) {
sum *= base;
}
System.out.println(sum);
* 결과창
base 입력 : 3
정수n 입력 : 4
81
예제)
구구단 2단 출력
int j = 2;
for (int i = 1; i < 10; i++) {
System.out.println(j + "*" + i + "=" + (i * j));
}
* 결과창
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
예제)
행 개수 입력 받아 하나씩 늘어나는 * 출력
방법1.
Scanner scan = new Scanner(System.in);
System.out.print("행 개수 : ");
int num = scan.nextInt();
for (int i = 0; i < num; i++) {
for (int j = 0; j < i + 1; j++) {
System.out.print("*");
}
System.out.println();
}
방법2.
Scanner scan = new Scanner(System.in);
System.out.print("행 개수 : ");
int num = scan.nextInt();
String star = "*";
for (int i = num; i > 0; i--) {
for (int j = 0; j < i; j++) {
System.out.print(star);
}
System.out.println("");
}
* 결과창
행 개수 : 8
*
**
***
****
*****
******
*******
********
예제)
역피라미드
방법1.
Scanner scan = new Scanner(System.in);
System.out.print("행 개수 : ");
int num = scan.nextInt();
String star = "*";
for (int i = num; i >= 0; i--) {
for (int j = 0; j < i + 1; j++) {
System.out.print(star);
}
System.out.println("");
}
방법2.
Scanner scan = new Scanner(System.in);
System.out.print("행 개수 : ");
int num = scan.nextInt();
String star = "";
for (int i = num; i >= 0; i--, num--) {
for (int j = num; j >= 0; j--) {
star += "*";
}
System.out.println(star);
star = "";
}
*방법 2.
for문 안의 변수 star의 변한 값은 for문 밖에서도 유지됨.
그래서 star를 출력하고 다시 변수 star의 값을 초기화해주었음
*결과창
행 개수 : 8
*********
********
*******
******
*****
****
***
**
*
예제)
피라미드 반전
int num = 5;
String star = "*", emp = " ";
for (int i = 0; i < num; i++) {
for (int j = 1; j <= num - i; j++) {
System.out.print(emp);
}
for (int j = 0; j <= i; j++) {
System.out.print(star);
}
System.out.println();
}
* 결과창
*
**
***
****
*****
예제)
피라미드
방법1.
int num = 5, num2 = 0;
String emp = " ", star = "*";
for (int i = num; i > 0; i--) {
for (int j = 0; j < i; j++) {
System.out.print(emp);
}
for (int j = num - 1; j < num; j++, num2--) {
if (num2 == 0) {
System.out.print(star);
} else {
star += "**";
System.out.print(star);
}
System.out.println("");
}
}
방법2.
int num = 5;
String emp = " ", star = "*";
for (int i = 0; i < num; i++) {
for (int j = 1; j <= num - i; j++) {
System.out.print(emp);
}
for (int j = 0; j < (i * 2 + 1); j++) {
System.out.print(star);
}
System.out.println();
}
둘다 출력은 같지만 방법1은 구색을 맞춘느낌, 방법2는 패턴을 이해하고 식을 적용시킴
* 방법1을 먼저 해보고 다른 방식을 검색해 방법2 코드를 작성함, 공부가 많이 되었다.
*출력문
*
***
*****
*******
*********
'학습 기록 > Java' 카테고리의 다른 글
23.05.15 / Java / 2차원 배열 (0) | 2023.05.29 |
---|---|
23.05.12 / Java / array (0) | 2023.05.12 |
23.05.09 / Java / 반복문 (0) | 2023.05.09 |
23.05.08 / Java / 반복문(while) (0) | 2023.05.08 |
23.05.04 / Java / 조건문(if문) (0) | 2023.05.07 |