코드를 보면 어떤 문법이고 왜 명령을 내리는 지 아는데 막상 코드를 짜려고 하면 잘 안된다.
어떤 상황에 어떤 명령을 내려야 할지에 대한 연결이 어렵다면,
실습코드를 보고 명령을 따라치는 것보다는,
먼저 코드 작성 하기 전, 한글로 작성해보고, 각 문장을 컴퓨터에게 명령을 내리기 위해선
어떤 명령을 내려야 할지 매치해보는 것이 더 도움이 된다.
즉, 알고리즘을 먼저 작성한 후 코드로 옮기시는 연습을 해보는 것을 추천한다.
예를 들어,
업다운 게임이라고 한다면, 해야할 작업은
1. 1~100까지 임의의 숫자를 하나 골라 저장한다.
2. 사용자에게 1~100까지의 숫자 하나를 입력받는다.
3 만약, 사용자가 입력한 숫자가 랜덤으로 결정된 숫자보다 큰 경우, DOWN을 출력한 후, 2를 반복한다
4.그게 아니고 만약, 사용자가 입력한 숫자가 랜덤으로 결정된 숫자보다 작을 경우, UP을 출력한 후 2를 반복한다.
5. 모든 경우가 아니라면(숫자를 맞힌 경우), 정답을 출력하고, 반복을 종료한다.
위와 같이 한글로 먼저 작성한 후 JAVA 문법을 사용한 코드를 작성해봅니다.
1. 1~100까지 임의의 숫자를 하나 골라 저장한다.
<code>
Random random= new Random();
int randNumber = random.nextInt(100)+1;
2. 사용자에게 1~100까지의 숫자 하나를 입력받는다.
<code>
Scanner sc = new Scanner(System.in());
System.out.print("숫자 입력: ");
int user = sc.nextInt();
3 만약, 사용자가 입력한 숫자가 랜덤으로 결정된 숫자보다 큰 경우, DOWN을 출력한 후, 2를 반복한다.
<code>
if( user> randNumber) {
System.out.println("DOWN");
continue;}
4.그게 아니고 만약, 사용자가 입력한 숫자가 랜덤으로 결정된 숫자보다 작을 경우, UP을 출력한 후 2를 반복한다.
<code>
else if(user<randNumber){
System.out.println("UP");
continue;}
5. 모든 경우가 아니라면(숫자를 맞힌 경우), 정답을 출력하고, 반복을 종료한다.
<code>
else{
System.out.println("정답");
break;}
====
[전체 코드]
import java.util.*;
public class UpDownGame{
public void main(String []args){
Random random= new Random();
int randNumber = random.nextInt(100)+1;
Scanner sc = new Scanner(System.in());
while(true){
System.out.print("숫자 입력: ");
int user = sc.nextInt();
if( user> randNumber) {
System.out.println("DOWN");
continue;}
else if(user<randNumber){
System.out.println("UP");
continue;}
else{
System.out.println("정답");
break;}
}}}
'공부 기록노트 > java' 카테고리의 다른 글
[Java] GUI 프로그래밍을 위한 AWT (0) | 2023.01.01 |
---|---|
[조건문] if문과 switch문 (0) | 2022.10.02 |
[메소드] Math.random( ) (0) | 2022.10.02 |
[자바] 상속 (Inheritance), 부모/자식클래스 (0) | 2022.08.18 |
메소드 오버라이딩 (0) | 2022.08.12 |