import java.util.Random;
public class Hi {
public static void main(String[] args) {
Random random = new Random();
int integer = random.nextInt(100 - 0) + 0;
System.out.println(sumDigits(integer));
}
public static int sumDigits(int n) {
int sumOfInteger = 0;
while (n != 0) {
sumOfInteger += n % 10;
n /= 10;
}
return sumOfInteger;
}
}
我需要使用数组而不是常规数组。 这就是我必须要做的 生成0到9之间的100个随机整数的程序,并显示每个数字的计数。 (提示:使用十个整数的数组,比如计数,来存储0,1,...,9s的计数。) 我得到的是单数而不是数。但同时我必须使用数组。
import java.util.Arrays;
import java.util.Random;
public class Hw7Problem3 {
public static void main(String[] args) {
System.out.println(sumDigits());
}
public static int[] sumDigits(int random) {
int[] digits = new int[10];
for (int i = 0; i < 100; i++){
digits[(int) (Math.random() * 10)]++;
}
return digits;
}
}
答案 0 :(得分:0)
我希望这会对你有所帮助:
int counts[] = new int[10];
for(int i = 0; i < 100; i++) {
int rnd = random.nextInt(10);
counts[rnd] = counts[rnd] + 1;
}
因此,在计数[N]中,您可以找到N随机生成的次数。
答案 1 :(得分:0)
你的任务是在0到10之间创建100个随机整数。所以我们需要从一个digits
数组开始计算。我们可以使用Math.random()
并乘以10(以获得0到9之间的数字),并在digits
中增加该索引。像
int[] digits = new int[10];
for (int i = 0; i < 100; i++)
digits[(int) (Math.random() * 10)]++;
然后用
打印它System.out.println(Arrays.toString(digits));
我跑了两次
[11, 11, 9, 9, 6, 11, 9, 13, 11, 10]
和
[8, 6, 5, 11, 10, 9, 13, 10, 15, 13]
这似乎表明它有效。