- Today
- Total
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- javascript
- 클론코딩
- 오류해결
- iframe
- 자바스크립트
- 함수
- wordpress
- 오라클
- 티스토리챌린지
- pl/sql
- 워스프레스
- Oracle
- dbeaver
- 워드프레스
- spring boot
- 프로시저
- 이클립스
- 배열
- PROCEDURE
- Hostinger
- 환경세팅
- JSP
- function
- 엘리멘터
- 오블완
- 문제해결
- sql
- 트러블슈팅
- PLSQL
Archives
개발 공부중
[TIL] 문제연습 (Math.random(), 한 줄에 10개씩 출력하기) 본문
문제1
import java.util.Arrays;
/* 연습문제1
* -10에서 10사이의 정수 10개를 랜덤하게 채번하여 음수와 양수의 합계를 구하는 프로그램을 작성하시오.
출력)
배열 : 9 -2 -3 8 0 -3 -8 -6 -2 0
음수합 : -24
양수합 : 17
*/
public class Quiz_2 {
public static void main(String[] args) {
int plushap= 0;
int minushap=0;
int users[] = new int[10];
for(int i =0; i <users.length; i++){
users[i] = (int)(Math.random()*21)%20-10; //★-10 ~ 10 사이의 정수를 랜덤 수집
if(users[i]>0){
plushap = users[i] + plushap;
}else{
minushap = users[i] + minushap;
}
}
System.out.println(Arrays.toString(users));
System.out.println("음수합" + minushap);
System.out.println("음수합" + plushap);
}
}
문제1의 포인트는 Math.random() 함수의 사용방법
Math.random() 함수는 0~ 1 사이의 실수를 반환함. (0<= x <1 ( 0.9999) )
소수점이라 정수의 값을 구하고 싶을 때는 *10 을 하고 (int)를 사용해서 소수점 이하를 버림하면 됨. ( 0 <= x < 10 (9.9999))
최소값을 지정하고 싶을 때는 Math.random() * (max - min + 1) 값을 계산하고, 소수점 이하를 버림.
문제2
import java.util.Arrays;
import java.util.Random;
/*
* 연습문제 2
* 0 부터 9사이의 임의의 수를 100개를 채번하여 한 줄에 10개씩
* 출력하고 그 숫자의 빈도수를 계산하여 출력하시오
* 원본 : 0 1 2 3 4 5 6 7 8 9
* 2 5 6 8 7 8 9 0 1 1
* 5 ...
* 3 ...
* 3 ...
* 7 ...
* 9 ...
* 2 ...
* 0 4 5 6 6 7 8 8 9 9
* 숫자 : 0 1 2 3 4 5 6 7 8 9
* 갯수 : 10 9 18 11 7 9 15 14 7 5
*/
public class Quiz_3 {
public static void main(String[] args) {
int arr[] = new int [100];
int count[] = new int[10];
for(int i =1; i<arr.length+1; i++){
arr[i-1] = (int)(Math.random() * 10);
System.out.print(arr[i-1]);
if(i % 10 == 0 & i != 0){
System.out.println();
}
for(int j = 0; j<count.length; j++){
if(arr[i-1] == j){
count[j] = count[j] +1;
}
}
}
System.out.println("숫자 : 0 1 2 3 4 5 6 7 8 9");
System.out.println("갯수 : " + Arrays.toString(count));
}
}
문제2의 포인트는 한 줄에 n개씩 출력하는 방법, 생각보다 오래 걸렸다.
처음에 if(i % 10 == 0) 로 실행해서 0번째 값만 하나 빠져나오는 건 if(i % 10 == 0 & i != 0) 로 해결
for(int i =0; i<arr.length; i++) ~~ 로 실행해서 첫 줄만 10개 출력 나머지는 9개 출력이 되는 상황은
for(int i =1; i<arr.length+1; i++) 로 해결! 조금 꼼수 같긴하지만ㅠㅋㅋㅋ
그리고 빈도수를 계산 하는 건 2중 for문으로 해결
'JAVA' 카테고리의 다른 글
InputStream/OutputStream를 이용해서 화면 저장하기 (0) | 2023.01.16 |
---|---|
[TIL] Vector와 ArrayList (1) | 2022.12.22 |
[TIL] 문제연습 (0) | 2022.12.14 |
[JAVA] 피보나치 수열 구하기 (0) | 2022.12.07 |
[TIL] 배열 (0) | 2022.12.07 |
Comments