JAVA

반복문_구구단 구현하기 (기초부터 심화까지)

개발자 배찌 2021. 6. 7. 20:24
728x90
package com.javateam.jse;

public class JavaEx1 {
public static void main(String[] args) {
//단 입력
System.out.print ( "단 입력 : " );
Scanner sc = new SCanner(System.in);
int num = sc.nextInt();

System.out.println( num + "단 출력" );

for( int i = 1; i <= 9; i++ ) {
System.out.printf( "%d * %d = %d\n", num, i, num*i );
}
sc.close();
}
}


package com.javateam.jse;

public class JavaEx2 {
public static void main(String[] agrs) {
for(int i=2; i<=9; i++) {
for(int j=1; j<=9; j++){
System.out.printf("%d * %d = %d\n", i, j, i*j);
}
}
}
}


while문 2개만을 이용하여 구구단 구현

package com.javateam.jse;

public class JavaEx3 {
public static void main(String[] args) {
int i = 2;
int j = 1;
while ( i <= 9 ) {
while ( j <= 9 ) {
System.out.printf("%d * %d = %d\n", i, j, i*j );
j++;
}
j = 1;
System.out.println();
}
}



n~m단까지 구구단 출력

package com.javateam.jse;

public class JavaEx4 {
public static void main(String[] args) {

//입력부
Scanner sc = new Scanner(System.in);

System.out.print("시작단 입력 : " );
int startNum = sc.nextInt();

System.out.print("끝단 입력 : " );
int endNum = sc.nextInt();

//시작/끝단의 범위 점검 : 2~9 정수
if ( (startNum < 2 || startNum >9) || (endNum < 2 || endNum > 9) ) {
System.out.println("2~9사이의 정수를 입력하시오 " );
} else { // 2~9단 점검
if( startNum >= endNum ) {
System.out.println("시작단이 끝단보다 적어야합니다");
} else //정상
System.out.printf("%d단 ~ %d단 출력 \n", startNum, endNum);

//구구단 출력
for(int j = startNum; j<=endNum; j++) {
for( int i = 1; i <=9; i++) {
System.out.printf("%d * %d = %d \n , j, i, j * i);
}
System.out.println("------------------------");
}
}
}
sc.close();
}
}


구구단 입력부 작성(입력숫자 검증부(input validation) 포함

package com.javateam.jse;

import java.util.Scanner;

public class JavaEx5 {
static int inputNum() {
int result = 0;
Scanner sc = null;
int input = 0;

while (true) {
sc = new Scanner(System.in);
System.out.print("입력 : ");

try {
input = sc.nextInt();
if ( input >= 2 & input <=9 ) {
result = input;
return result;
} else {
System.out.println("2~9사이의 숫자를 입력하세요");
}
} catch (Exception e) {
System.out.println("잘못입력하셨습니다. 다시입력하세요");
}
}
}

static int inputNum(String exit) {
int result = 0;
Scanner sc = new Scanner(System.in);
String input = "";

while (true) {
sc = new Scanner(System.in);
System.out.print("입력 : ");

try {
input = sc.nextLine();
if ( input.equals(exit) ) {
System.out.println("입력을 종료합니다");
result = -1;
return result;
}
int num = Integer.parseInt(input);

if ( num >= 2 && num <=9 ) {
result = num;
return result;
} else {
System.out.println("2~9사이의 숫자를 입력하세요");
}
} catch (Exception e) {
Sysem.out.println("잘못 입력하셨습니다. 다시입력하세요 " );
}
}
}

public static void main(String[] args) {
int num = inputNum();
System.out.println("num : " + num);
}
}
package com.javateam.jse;

import java.util.Scanner;

public class JavaEx6 {
static int inputNum(String exit) {
int result = 0;
Scanner sc = new Scanner(System.in);
String input = "";

while (true) {
sc = new Scanner(System.in);
System.out.print("입력 : ");

try {
input = sc.nextLine();
if ( input.equals(exit) ) {
System.out.println("입력을 종료합니다");
result = -1;
return result;
}
int num = Integer.parseInt(input);

if ( num >= 2 && num <=9 ) {
result = num;
return result;
} else {
System.out.println("2~9사이의 숫자를 입력하세요");
}
} catch (Exception e) {
Sysem.out.println("잘못 입력하셨습니다. 다시입력하세요 " );
}
}
}
public static void main(String[] args) {
int startNum = inputNum("exit");
System.out.println("startNum : " + startNum);

int endNum = inputNum("exit");
System.out.println("endNum : " + endNum);

if ( startNum == -1 || endNum == -1) {
System.out.println("구구단을 종료합니다.");
} else if ( startNum >= endNum) {
System.out.println("시작단이 끝단보다 적어야 합니다");
} else {
System.out.printf("%d단~%d단 출력 \n", startNum, endNum);

for(int j = startNum; j <= endNum ; j++ ) {
for( int i = 1; i <= 9; i++) {
System.out.printf("%d * %d = %d \n", j, i, j*i );
}
System.out.println("---------------------------");
}
}
}
}
package com.javateam.jse;

import java.util.Scanner;

public class JavaEx7 {
static int inputNum(){
int result = 0;
Scanner sc = null;
int input = 0;

while ( true ) {
sc = new Scanner(System.in);
System.out.print("입력 : ");
try {
input = sc.nextInt();

if (input >=2 & inpu <=9 ) {
result = input;
return result;
} else {
System.out.println("2~9사이의 숫자를 입력하십시오 ");
}
} catch(Exception e) {
System.out.println("잘못입력하셨습니다. 다시입력하세요");
}
}
}

public static void main(String[] args ) {
int startNum = inputNum();
System.out.println("startNum : " + startNum);

int endNum = inputNum();
System.out.println("endNum : " +endNum);

if(startNum >= endNum) {
System.out.println("시작단이 끝단보다 적어야 합니다");
} else {
System.out.printf("%d단~%d단 출력 \n", startNum, endNum);

for ( int j = startNum; j <= endNum; j++ ){
for( int i = 1; i<=9; i++) {
System.out.printf("%d * %d = %d \n", j, i, j*i);
}
System.out.println("---------------------------------");
}
}
}
}
}