Language/JAVA
[JAVA 기초 이론] 랜덤 생성 Random
오류나면꽥꽥
2023. 5. 11. 18:33
Random rand=new Random();
-> ctrl + shift + 0 : 자동임포트
-> 자료형 변수명 = rand.nextInt();
ex)
자료형 : int N=rand.nextInt(10)+1; -> 1~10까지 랜덤수
Random rand=new Random();
int randNum=rand.nextInt(3)+3; -> 3~5까지 랜덤 자리수
int[] data=new int[randNum]; -> 배열 자리 수를 위의 랜덤 자리수로 한다는 의미
ex)
배열 0~100사이 랜덤수
int[] stu=new int[6];
Random rand=new Random();
for(int i=0;i<stu.length;i++) {
// stu[i]=랜덤수;
stu[i]=rand.nextInt(101); // 1~100까지
System.out.print(stu[i]+" ");
}
ex)
배열 100~105사이 랜덤수
for(int i=0;i<data.length;i++){
data[i]=rand.nextInt(6)+100; // data[i] 안의 값을 100~105사이 랜덤수
System.out.print(data[i]+" ");
}
ex) 심화
점수 랜덤으로 생성
1. 생성한 점수 평균
2. 평균을 넘긴 학생
3. 6등의 번호
4. 짝수번째 학생들의 총점
5. 평균을 못넘긴 학생
package class02;
import java.util.Random;
//자동임포트(C+S+O)
public class Test02 {
public static void main(String[] args) {
int[] stu=new int[6];
// 랜덤으로 점수를 생성해보자!
Random rand=new Random();
for(int i=0;i<stu.length;i++) {
// stu[i]=랜덤수;
stu[i]=rand.nextInt(101); // 0~100까지
System.out.print(stu[i]+" ");
}
System.out.println();
// 1. 평균점수
int sum=0; // 총점을 저장할 변수
for(int i=0;i<stu.length;i++) {
sum+=stu[i];
}
double avg=sum*1.0/stu.length;
System.out.println("평균: "+avg);
// 2. 평균을 넘긴 학생수
// 5. 평균을 못넘긴 학생들의 번호 --->> 변수xxx
// : 저장공간을 예상하는 방법
// : 나중에 배열을 생성하는 방법
int num=0; // 평균넘긴학생수를 저장할 변수
for(int i=0;i<stu.length;i++) {
if(stu[i] >= avg) { // [내가 보고있는 학생]이 평균을 넘겼어?
num++;
}
else {
System.out.println((i+1)+"번은 평균점수이하입니다.");
}
}
System.out.println("평균점수이상을 받은 학생수는 "+num+"명");
// 3. 6등의 번호
// --->> [최대값찾기 알고리즘] 활용
int min=stu[0];
int minIndex=0;
for(int i=1;i<stu.length;i++) {
if(min>stu[i]) {
min=stu[i];
minIndex=i;
}
}
System.out.println("6등은 "+(minIndex+1)+"번입니다.");
// 4. 짝수번째 학생들의 총점
int res=0;
for(int i=0;i<stu.length;i++) {
if(i%2==0) {
continue;
}
res+=stu[i];
}
System.out.println("짝수번째 학생들의 총점은 "+res+"점");
}
}