구구단 Quiz

SUADI·2022년 3월 18일
0

Quiz 1.

사용자가 입력한 값에 따라 크기가 다른 구구단을 계산해 출력한다.
예를 들어 19를 입력하면 십구십구단(2 x 1에서 19 x 19)을 계산해 출력한다.

Sol ) 이중 for문

import java.util.Scanner;

public class {
	public static void main(String[] args) {
    	System.out.println("몇 단까지?");
        Scanner scanner = new Scanner(System.in);
        int number = scanner.nextInt();
        int[] result = new int[number];
        for (int i=2; i<=result.length; i++) {
        	for (int j=0; j<result.length; j++) {
            	result[j] = i * (j + 1);
            }
            for (int j=0; j<result.length; j++) {
            	System.out.println(result[j]);
            }
      		System.out.println();
        }
      
    }
}

(1) int[] result = new int[number];

지금까지는 배열의 크기가 정해져 있었다면 이번에는 배열의 크기가 입력값에 따라 달라지도록 코드를 짰다. 이렇게 해야지만 입력한 숫자만큼 곱할 수 있다.

(2) 이중 for문

이 방법 말고 메소드를 이용해서 코드를 짜보려고 했지만 잘 안되었다. 내가 해서 안되는건지, 원래 안되는 문제인지 조차 가늠할 수가 없어서 안타깝다. 실력을 빨리 길러서 답은 모르더라도 가능한지 아닌지 정도는 알 수 있었음 좋겠다.

Quiz 2.

사용자가 입력한 값에 따라 크기가 다른 구구단을 계산해 출력한다.
예를 들어 사용자가 "8,7"과 같은 문자열을 입력하면 팔칠단을 구현한다. 팔칠단은 2 1 ... 2 7, 3 1 ... 3 7, ... , 8 1 ... 8 7 까지 구현하는 것을 의미한다.

Sol ) 이중 for 문

import java.util.Scanner;

public class GUgudan {
	public static void main(String[] args) {
    	System.out.println("몇 단, 몇까지?");
        Scanner scanner = new Scanner(System.in);
        String inputValue = scanner.nextline();
        String[] splitValue = inputValue.split(",");
        int first = Integer.parseInt(splitValue[0]);
        int secont = Integer.parseInt(splitValue[1]);
	
    	int[] result = new int[second];
        for (int i =2; i<=first; i++) {
        	for (int j=0; j<second; j++) {
            	result[j] = i * (j + 1);
            }
        	for (int j=0; j<second; j++) {
            	System.out.println(result[j]);
            }
            System.out.println();
        }
    }
}

(1) String inputValue = scanner.nextline();

정수형 변수를 생성할 때 int와 nextInt()를 사용한 것과 달리 문자형 변수를 생성해야 하므로 String과 nextline()을 사용하였다.

(2) nextline() vs next()

문자를 입력받을 때 띄어쓰기를 모두 포함한 문자를 리턴하는 것이 nextline이고 띄어쓰기 전까지 리턴하는 것이 next이다.

(3) String[] splitValue = inputValue.split(",")

inputValue를 ,를 기준으로 나누어서 splitValue라는 문자형 배열을 생성해서 그 곳에 저장한다는 의미이다.

(4) parseInt()

문자를 숫자형으로 바꿔주는 함수이다. 여기서는 입력값으로 문자를 받았으므로 parseint를 사용하여 숫자형으로 바꾸는 작업을 한 것이다.

0개의 댓글