public class Day07Homework3 {
public static void test01(String[] args) {
// 구구단 3행 3열
int dan =2;
for (dan = 2; dan <= 9; dan += 3) {
for(int i =0; i<3; i++){
System.out.print(dan+i<10 ? " <" + (dan+i) + "단>\t" : "");
}
System.out.println();
for(int i=1; i<=9; i++){
for(int j =0; j<3; j++){
String str = (dan+j) + "*" + i + "=" + (dan+j)*i;
System.out.print(dan+j<10 ? str + "\t" : "");
}
System.out.println();
}
}
} // test01
}
==========================================================
<시작과 끝나는 단 입력 받아서 구구단 3열씩 출력하기>
import java.util.Scanner;
public class Day07Homework5 {
static Scanner scan = new Scanner(System.in);
static final int MIN = 2;
static final int MAX = 9;
public static void main(String[] args) {
int startDan=MIN, endDan=MAX;
System.out.println("시작 단 입력>>>");
startDan = scan.nextInt();
while(startDan<MIN || startDan>MAX){
System.out.println("다시 입력(" + MIN +"~" + MAX + ")>>>");
startDan = scan.nextInt();
} // while : 시작 단 유효성 검사
System.out.println("끝나는 단 입력>>>");
endDan = scan.nextInt();
while(endDan<MIN || endDan>MAX){
System.out.println("다시 입력(" + MIN +"~" + MAX + ")>>>");
endDan = scan.nextInt();
} // while : 끝나는 단 유효성 검사
if(startDan>endDan){
int tmp = startDan;
startDan = endDan;
endDan = tmp;
}
// 3행 3열로 출력
for (int dan = startDan; dan <= endDan; dan += 3) {
for(int i=0; i<3; i++){
System.out.print(dan+i<10 && dan+i <=(endDan)? " <" + (dan+i) + "단>\t" : "");
}
System.out.println();
for(int i=1; i<=9; i++){
for(int j =0; j<3; j++){
String str = (dan+j) + "*" + i + "=" + (dan+j)*i;
System.out.print(dan+j<10 && dan+j <=(endDan)? str + "\t" : "");
}
System.out.println();
}
}
} //main
}
댓글 없음:
댓글 쓰기