gwooden_코린이
java_난수출력_221124(4일차) 본문
난수 출력(랜덤 숫자)
package 배열;
public class Sample03 {
public static void main(String[] args) {
System.out.println(Math.random());
}
}
결과값은 계속 바뀐다.
> 0 < 1
0보다 크고 1보다 작은 식이라 위 처럼 결과가 유동적으로 출력된다.
System.out.println(Math.random()*10); <--- *10을 넣어주면
0 < 10
0부터 시작해서 10전까지 유동적으로 출력
System.out.println((int)(Math.random()*10)+1);
*10만 하면 0 부터 9까지 소수점 까지 표기가 되는데
1 부터 10까지 소수점 없이 정수로 랜덤하게 표시 하려면 위 처럼 수식을 추가해줘야 된다,
소수점이 나오지 않기 위해 int 정수로 형변환을 해줘야 되고
+1까지 해줘야 *에서 설정한 값까지 출력된다.
★예제01
package 배열;
public class Sample03 {
public static void main(String[] args) {
//6개의 배열방에
//난수 출력
int[] lotto = new int[6]; //6개 배열방 선언
int i, j;
for(i=0; i<6; i++) {
lotto[i] = (int)(Math.random()*45)+1; //예를 들어서 배열방 0번 값이 4일 경우
for(j=i-1; j>=0; j--) {//i는
//두 번째 for문에서 조건식을 완료하면 증가 -> 감소
//조건식이 아니면 증가 -> 감소 -> 증가
if(lotto[i] == lotto[j]) { //번 방에 있는 값과 [j]번 방에 있는 값이 같은가?
i--; //같은 값일 경우 i를 감소 시킨다.
break; // 같으면 탈출해서 다시 첫 번째 for문으로 이동 후 재시작
}
}
}
for(i=0; i<6; i++ ) {
System.out.print(lotto[i] + " ");
}
}
}
★예제02
(let's 자바 프로그래밍 책에 있는 내용)
package 배열;
public class Sample04 {
public static void main(String[] args) {
int[] lotto = new int[6]; //로또 번호 6개를 위한 6개 배열방을 선언
int idx = 0;
while(true) { //while문에 조건식이 참일 경우 계속 진행
int number = (int)(Math.random()*45)+1; //이 문단 부터 영역안에 있는 수식이 참일 경우 계속 반속
//정수 'number' 변수 선언을 해주고
//number 변수에 1 ~ 45까지 랜덤한 수를 저장할 수 있게
boolean insert = true; //boolean문 'insert' 변수 하나 선언 insert 변수가 참일 때 조건완료
//스위치 역할을 한다. 만약 fasle로 진행 되다 다시 올라와도 초기화시켜 다시 true로 시작
for(int i = 0; i <= idx; i++) {//정수 'i' 변수 선언 i 부터 idx 까지 도달할 때 까지 실행
if (lotto[i] == number) { //만약 lotto 배열방에 값은 number 랜덤변수와 같다.
insert = false; //insert 변수가 거짓이면
break; //멈춤
}
}
if(insert == true) { //만약 insert가 참과 같은 경우
lotto[idx] = number; //lotto[idx]는 4
idx++;
}
if(idx == 6) break;
}
//결과 출력용이라 나중에
for(int i = 0; i < lotto.length; i++) {
System.out.print(lotto[i] + " ");
}
}
}
'java > 4일차' 카테고리의 다른 글
java_객체지향 클래스_221124(4일차) (0) | 2022.11.24 |
---|---|
java_2차원 배열_221124(4일차) (0) | 2022.11.24 |
java_정렬_221124(4일차) (0) | 2022.11.24 |
java_배열_221124(4일차) (0) | 2022.11.24 |