Em có một bài tập về việc tạo một mảng các số ngẫu nhiên và đếm xem có bao nhiêu số 0 trong mảng đó.
Đây là đoạn code của em:
import java.util.Random;
/**
* Created by Danh Thai on 9/26/2016.
*/
public class OneSum {
public static int count(long[] a){
int count = 0;
for(int i = 0; i < a.length; i++){
if(a[i] == 0 ) count ++;
}
return count;
}
public static void main(String[] args){
int n = 70;
long a[] = new long[n];
final int MAX= Integer.MAX_VALUE;
final int MIN = Integer.MIN_VALUE;
for(int i = 0; i < a.length; i++){
a[i] = min + (long)((Math.random() * ((max - min) + 1)));
}
count(a);
System.out.println(max - min );
System.out.println(count(a));
}
}
LỖI: Theo em lỗi ở đây là khi đặt max và min là 2 giá trị đầu cực của kiểu int thì câu lệnh khởi tạo giá trị a[i] sẽ bị tràn bộ nhớ do max - min có giá trị vượt quá phạm vi của int. Vậy mọi người cho em hỏi có cách nào để tạo một mảng gồm các số int ngẫu nhiên trong phạm vi của integer không ạ?