编写以下方法,返回start到end之间的随机数,但不能是numbers中的数。
public static int getRandom(int start, int end, int... number)
例如,调用getRandom(1,100,4,8,95,93)返回一个1到100之间且不包含4、5、95、93的数。编写测试程序,调用getRandom(1,100,4,8,95,93)45次,并采用%4d格式以每行15个数字 的形式显示结果。
public class Exercise07_13 { public static void main(String[] args) { for (int i = 1; i <= 45; i++) { //45个数,循环45次 if (i % 15 == 0) // 每行15个(15的倍数就换行) System.out.printf("%4d\n", getRandom(1, 100, 4, 8, 95, 93), " "); else System.out.printf("%4d", getRandom(1, 100, 4, 8, 95, 93), " "); } } public static int getRandom(int start, int end, int... number) { int num; num = (int) (Math.random() * end + 1); //产生1~100之间的随机数 for (int i = 0; i < number.length; i++) { //如果有与...number里面的元素相同,则重新赋值,直到与...number中的元素不一样 if (num == number[i]) num=(int) (Math.random() * end + 1); } return num; } }