Java

random, for문

빵아지 2023. 2. 16. 01:24
Random 수 뽑아내기

1. random도 scanner 처럼 import 등록 해야함

 

2. 랜덤한 수를 추출하는 도구 꺼내오기

Random ran = new Random();

 

3. 범위를 지정하고 싶으면 소괄호 안에 쓰기

1부터 시작하고 싶어 하면 ( )+1; / 2부터 시작하고 싶으면 ( ) +2;

int ranMum = ran.nextInt( ) + 1;

 

System.out.println(ranMum);

 

 

 

 

For문

- 반복 횟수가 정해진 경우

- 세미콜론으로 영역 나눔(초기화 구문-검사조건-반복 후 작업)

- 초기화 구문 : 변수 선언(주로 i 사용 = index 약자) 후 0을 주로 대입함(단, 꼭 0으로 시작하는 건 아님)

                        딱 한 번만 감, 한 번 초기화 구문 하고 나면 다시 초기화 구문으로 가는 게 아닌 검사조건으로 넘어감

<구조>

 for(초기화구문; 검사조건 ; 반복 후 작업) {

실행시킬 문장}

 

<순서>

- 초기화 구문 : 1

- 검사조건(~이니???) : 2

- 반복 후 작업 : 3

- 실행시킬 문장 : 4

 

1-2-4-3-2-4-3-2-4

 

 

<문제>

<출력>

- 1부터 초기화, 10까지 나오려면 11까지를 검사조건으로 설정, 1씩 더해주려고 i++함

- 만약 2씩 더해주고 싶으면 i+2

 

 

 

<문제>

-> 가로로 나열하도록 반복문 설정합시다!

 

 

 

<풀이>

아직까진 쉽죠???

로직 헷갈리지 않기: 1->2->4->3->2->4->3->2

 

 

<문제>

 

<풀이>

-  i에는 96이 들어있고 트루면 중괄호 실행시킴

- +"  " 를 쓴 이유는 숫자 뒤에 띄어쓰기 처리하려고! 

- 만약 조건식 방향이라던지 숫자 지정에 고민이 된다면 머릿속으로 시뮬레이션 돌린 다음에

ctrl + f11 누르기

 

 

 

<위 문제에서 응용하기>** 나 이 문제 틀림 ㅠ 오류는 안 뜨는데 값이 안 나옴

 

<풀이>

- 내가 i % 2 ==를? if문으로 안에 넣을 수 있는지 몰라서 &&로 연결하려니 답이 안 나왔음

- while도 if문을 넣듯이 for또한 if문을 넣어 조건을 걸 수 있다!!!

 

- i가 시작이 96이고 96 출력문에 닿지 않아서 밖으로 나가버림(출력)

- 출력 후 문장으로 이동(i--)

- 95를 i > 72를 검사시킴-> true면 if문으로 실행시킴-> 조건 충족하면 숫자가 출력되고? i--로 넘어감

->94로~~~~~~~~

 

 

 

<문제>

구구단 2단을 출력하세요

 

 

<풀이>

- 내가 다 썼는데 실행이 안 됐었음(이유: System~~~ 끝에 세미콜론; 빠졌었음)

 

1. 반복되는 값이 무엇인지 중괄호 안에 먼저 쓰기!!!

(이때 출력 되는 값들이 가로로 나열되는지? 세로로 나열되는지 생각해라 ln 여부 판단)

2. 초기화 값 생각하고? 조건에 값 넣었을 때 true가 되는지 확인하면서 조건 조정하기

내가 원하는 데이터가 반복되려면 변수가 어떻게 변하면 좋을지 생각하기(1234이런 식이니깐 i++이면 되겠다!!!)

 

 

 

<문제>

- =뒤의 값은 8*1임을 사고하기

- 초록색 글자 : 입력하는 곳(가변) // 검정색 글자부분 : println뒤에서 알아서 출력해주는 곳

 

 

 

<풀이>

1. 입력도구 꺼내오기(scanner~~)

2. 반복되는 구간 파악하고 그 안에서 무엇이 바뀌는 값인지 무엇이 고정된 값인지 파악하기

   (이 정에서 필요한 변수가 몇 개 일지도 생각하기->변수가 1개 이상 필요할 거 같으면 위에 변수선언해주기)

3. 이 과정 진행 후 중괄호로 묶어주기

4. for( )안에 뭐를 넣어줄지 하나씩 스텝 밟기!!!

 

 

 

<문제>***너무 어려워 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

 

<출력>

- 약수 구하는 공식

ex)num(입력하는 숫자) % random(특정숫자) == 0

(이런 공식은 혹시나 모르니 암기)

- 약수의 경우 1과 입력하는 수는 꼭 나옴 ex) 13 -> 1, 13

- 그래서 for문 초기화는 1로 함 // random 과 num이 같을 수도 있음을 기억하기

(= 어떤 값을 넣어도 입력되는 수는 꼭 나와야 하니깐)

  

 

 

 

<문제>***멀미 나는 문제

두 수를 곱해서 더한 값이 79079여야 함

 

 

 

<풀이>

 

 

 

 

나는 날마다 모든 면에서 점점 더 좋아지고 있다!!!

스마트인재개발에서 만든 수업자료입니다. 무단으로 사용 금지합니다.

'Java' 카테고리의 다른 글

이중for문  (1) 2023.02.17
while문, 무한반복문, do-while문  (0) 2023.02.15
다중if문, switch-case문,  (0) 2023.02.13
삼항연산자, 조건문(단순if문, if-else문)  (0) 2023.02.11
산술연산자, 증감연산자  (0) 2023.02.09