My Melody Is Cute 구구단 프로그램
본문 바로가기

실습👁️‍🗨️/연습

구구단 프로그램

package com.codestates;

import java.util.Scanner;

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

        // 0. 구구단을 정의하기 전 구구단 연산을 위한 변수를 선언합니다.

        // 1. 단을 입력합니다.
        // 클래스에 포함된 메서드를 활용하기 위해 객체 생성
        // Scanner(클래스명) s(변수명) = new(객체 생성을 위한 키워드) Scanner(클래스명)(System.in);

        // 사용자 입력을 받기 위한 안내 문구 n단이 입력되었습니다.

        // 입력받은 값을 출력합니다.

        // 2. 구구단은 2단에서 9단까지만 가능합니다.
        // 조건 1. 입력값이 min_gugudan(2)보다 작다.
        // 조건 2. 입력값이 max_gugudan(9)보다 크다.
        // 두 조건이 모두 참 인 경우를 판단하여 [경고] 문구 출력(OR 연산자 활용)

        Scanner scanner = new Scanner(System.in); //입력받기
        System.out.println(" [안내] 희망하는 구구단을 숫자로 입력해 주세요 (2~9)");
        int num = scanner.nextInt();
        System.out.println(num + "단이 입력되었습니다.");

        if( num < 2 || num > 9 ) { //입력오류확인
            System.out.println(" [경고] 구구단은 2단 ~ 9단 까지만 선택할 수 있습니다. ");
        }else {
                multiplier(num); //입력한 단의 구구단 출력
        }

     }

    private static void multiplier( int num ) {
        for ( int i = 1; i <= 9; i++ ) {
            System.out.println(num + "*" + i + "=" + (num * i));
        }

      }
 }

입력값은 scanner로 입력받고 안내문과 경고문끼리 함께 묶고

구구단 코드를 밑에 따로 묶었다

 

근데 만들고 보니 if ( num <2 || num > 9 ) 이부분이 하드코딩이라

나중에 유지보수가 힘들어지니까 다른 코드로 변경해야한다

close() 메서드도 넣지 않았다,,

package com.codestates;

import java.util.Scanner;

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

        Scanner scanner = new Scanner(System.in); //입력받기
        int minGugudan = 2; //하드코딩값을 변수로 선언
        int maxGugudan = 9;


        System.out.println(" [안내] 희망하는 구구단을 숫자로 입력해 주세요 (2~9)");
        int num = scanner.nextInt();
        System.out.println(num + "단이 입력되었습니다.");

        if( num < minGugudan || num > maxGugudan ) { //변수를 사용해 입력오류확인
            System.out.println(" [경고] 구구단은 " + minGugudan + "단 ~ " + maxGugudan + "단 까지만 선택할 수 있습니다. ");
        }else {
                multiplier(num); //입력한 단의 구구단 출력
            scanner.close(); //스캐너닫기
        }

     }

    private static void multiplier( int num ) {
        for ( int i = 1; i <= 9; i++ ) {
            System.out.println(num + "*" + i + "=" + (num * i));

        }

      }
 }

 

+ 2단부터 9단까지 전체 구구단을 출력하는 문

for (int i = 2; i <= 9; i++) { //2단부터 9단까지 구구단 출력
    for (int j = 1; j <= 9; j++) { // 1에서 9까지 증가시키면서 구구단 출력
        System.out.println(i + " * " + j + " = " + (i * j));
    }
}