Java 배열 심화
402호 전체 학생들 중 사용자가 입력한 숫자만큼 랜덤으로 학생을 뽑는 프로그램을 만들어주세요.
//사용자가 입력한 숫자만큼 뽑음 하지만 중복되지 않게 뽑아야함
String[] students ={"강나영", "강동환", "강태영", "곽지훈", "김서윤", "김영훈", "김진석", "김충신", "박슬기",
"박채린", "손영태", "손영흔", "안정연", "이선우", "이수보", "이주홍", "이중호", "임현정",
"장유진", "정신애", "조수경", "조하영", "조혜민", "허민정", "박지은"};
Scanner sc = new Scanner(System.in);
System.out.println("숫자를 입력하시오 >");
int num = Integer.parseInt(sc.nextLine());
String[] pick = new String[count]; //뽑은 사람을 저장할 배열
int pickCount = 0;
//현재 뽑은 사람 수(새야지 언제까지 뽑을지 알수 있기때문에 변수를 만든것)
do{
int random = (int)(Math.random() * students.length);
//랜덤값과 원래 뽑힌 사람을 비교해야함
boolean flag = true;//중복의 여부를 확인 하기 위한 변수
for(int i = 0; i < pick.length; i++){
if(students[random].equals(pick[i]){
//랜덤으로 방금 뽑은 사람과 이미 뽑인 사람과 비교를해서 같으면 추가를 하면 안됨(중복)
flag = false;//랜덤으로 뽑힌 사람과 이미뽑힌 사람이 같으면 flag를 false로 만듬
}
if(flag){//변수가 그대로 내려왔으면 중복이 안된것
pick[pickCount++] = students[random];
// 그대로 내려왔으면 뽑은사람 배열에 랜덤으로 뽑인 사람이 들어오고 뽑은사람을 카운트 해준것
}
}while(pickCount < count); 뽑은값/입력한값
System.out.println(Arrays.toString(pick));
거스름돈에 동전의 단위마다 몇개의 동전이 필요한지 출력해주세요
거스름돈: 2860원
500원:5개
100원: 3개
50원: 1개
10원: 1개
/* count = money / coin[0];
* money = money % coin[0];
*
* count = money / coin[1];
* money = money % coin[1];
*
* count = money / coin[2];
* money = money % coin[2];
*
* count = money / coin[3];
* money = money % coin[3];
//이런 식으로 반복 되는 형태
int money = (int)(Math.random() * 500) * 10;
int[] coin = {500,100,50,10};
System.out.println("거스름돈: "+ money);
for(int i = 0; i < coin.length; i++){
int count = money / coin[i];
money %= coin[i];
System.out.println(coin[i]+"원 : "+count+"개");
}
1~5의 숫자가 발생된 횟수만큼 *을 사용해 그래프를 그려주세요
1:***3 //일단 숫자부터 세야댐
2:****4
3:**2
4:*****5
5:******6
int[] arr = new int[20];
for(int i=0;i<arr.length; i++){
arr[i] = (int)(Math.random() * 5)+1;
}
System.out.println(Arrays.toString(arr));
int[] count = new int[5];
for(int i=0; i < arr.length; i++){
count[arr[i] - 1]++; //각 숫자가 발생되는 수를 새는것(인덱스 값을 구하는 것이라 -1)
} //카운트 숫자만큼 별을 찍으면댐
for(int i = 0; i < count.length; i++){
System.out.print(i + 1 + " : ");
for(int j = 0; j < count[i]; j++){
System.out.print("*");
}
System.out.println(" "+count[i]);
}
Author And Source
이 문제에 관하여(Java 배열 심화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@susan9905/Java-배열-심화저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)