일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SQL 명령어
- REACT
- Flex Box 기본
- 자바 스프링
- spring 환경설정
- 환경설정
- SQL 연산자
- 오산대맛집
- 관계형데이터베이스
- 이클립스
- Hooks
- 노마드코더
- 객체지향프로그래밍
- spring
- Eclipse
- java spring
- SQL 문제
- 리액트
- 플랙스박스기본
- 스프링
- ubuntu
- java설치
- node.js
- 타입
- 자바스프링
- SQL
- Flexbox Froggy
- numpy
- 람다식
- HTML5
- Today
- Total
이것저것
[Java] 구구단 문제 본문
기본적인 구구단
i는 구구단의 단을 의미하고
j는 구구단의 뒷부분을 의미한다
1
2
3
4
5
6
7
8
9
10
11
|
public class GuguDan {
public static void main(String[] args) {
for(int i = 1; i < 10; i++) {
for(int j = 1; j < 10; j++) {
System.out.println(i + " x " + j + " = " + i*j);
System.out.printf("%d x %d = %d \n", i, j, i*j);
}
}
}
}
|
입력을 받은 구구단을 출력
Scanner를 사용할 경우에는 항상 import부분에 Scanner를 추가해줘야 한다
nextInt()로 num1에 입력받은 정수 값을 넣어준다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import java.util.Scanner;
public class GuguDan {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//num1과 result의 값을 0으로 초기화 해준다. (int는 초기화 해주지않아도 0이 기본값이다)
int num1 = 0;
int result = 0;
System.out.print("출력할 구구단을 입력하세요 : ");
num1 = sc.nextInt(); //num1에 입력받은 값이 들어온다.
for(int i = 1; i < 10; i++) {
result = num1 * i;
System.out.println(num1 + " x " + i + " = " + result);
System.out.printf("%d x %d = %d \n", num1, i, result);
}
}
}
|
1~9까지의 랜덤으로 구구단을 출력하기
Math.random()은 0.0부터 1.0 미만의 수를 랜덤으로 뽑아준다
Math.random()에 9를 곱하게 되면 0.0부터 9.0 미만의 수를 뽑아주게 되고
거기에 1을 더해준다면 1.0부터 10.0 미만의 수를 뽑아주게 된다
하지만 Math.random()은 double타입이므로 num1은 int타입이므로 형 변환이 필요하다
그러므로 (int)(Math.random()*9 +1)을 해주게 되면 1부터 10 미만의 수 즉 1부터 9까지의 정수 중 하나를 입력시켜준다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class GuguDan {
public static void main(String[] args) {
//num1을 1~9까지 중에 랜덤으로 입력해준다.
int num1 = (int)(Math.random()*9 + 1);
int result = 0;
System.out.println("랜덤 구구단");
for(int i = 1; i < 10; i++) {
result = num1 * i;
System.out.println(num1 + " x " + i + " = " + result);
System.out.printf("%d x %d = %d \n", num1, i, result);
}
}
}
|
System.out.println을 사용할 경우에는
System.out.println(i + " x " + j + " = " + i*j); 와 같이 x와 =부분을 ""로 표시해줘야 한다
하지만 System.out.printf를 사용하면 조금 더 간단하게 사용할 수 있다
System.out.printf("%d x %d = %d \n", i, j, i*j); 로 C언어에서 볼 수 있는 형식이다
작성자가 편한 부분을 사용하면 되지만 ""하나로 표현할 수 있다는 부분에서 조금 더 간편하다고 느낀다
printf의 %d는 정수를 쓸 수 있다는 것을 의미하고 \n은 줄 바꿈을 뜻한다
나중에 더 자세하게 정리해놓을 예정이다
'Java > Java 풀어본 문제' 카테고리의 다른 글
[Java] 비트연산자를 이용한 특정 자리수 구하기 (0) | 2020.04.15 |
---|---|
[Java] Scanner로 두 수를 입력받아 합을 구하기 (0) | 2020.03.29 |