标题: 【新人第一帖】java中randm获取十个不重复的随机数的方法... [打印本页] 作者: gz9218 时间: 2016-9-4 19:24 标题: 【新人第一帖】java中randm获取十个不重复的随机数的方法... /*
、按照需求实现如下代码:
a、定义一个int类型的数组,该数组的长度为10
b、获取10个1 - 100之间的随机数,存储到数组中。并且保证该数组中的元素唯一(没有重复元素);
c、打印数组,格式为:"[元素1, 元素2, 元素3, ...]"
d、求数组中索引为偶数或者元素为偶数的和
*/
class Test5 {
public static void main(String[] args) {
int[] arr = new int[10]; //定义一个int型数组,长度为10
int count = 0; //定义count计数随机数的个数,指示当前添加到了第几个数
boolean b; //判断是否产生重复的数的辅助变量
while (count < 10) { //产生10个数
int num = (int)((Math.random()*100)+1); //产生一个随机数
b = true; //将辅助变量设为true,表示可以添加元素
for (int i = 0;i < count ;i++ ) { //循环判断是否重复
if (arr[i]==num) { //如果重复,则设置b为false,跳出循环,如果不重复,则一直将数组元素遍历一次进行比较
b = false;
break;
}
}
if (b) { //如果可以添加,则添加元素到数组,并将计数器count加1
arr[count] = num;
count++;
}
}
print(arr); //调用print,打印输出数组元素
getSum(arr); //求数组中索引为偶数或者元素为偶数的和
}
public static void print(int[] arr) { //打印数组,格式为:"[元素1, 元素2, 元素3, ...]"
System.out.print("["); //打印在控制台
for (int i = 0;i < arr.length ;i++ ) { //遍历数组中的每一个元素
System.out.print(arr[i]); //
if (i!=arr.length-1) {
System.out.print(","); //打印在控制台
}
}
System.out.print("]");
}
public static int getSum(int[] arr) { //求数组中索引为偶数或者元素为偶数的和
int sum = 0; //先声明定义sum为int类,并初始化
for (int i = 0;i < arr.length ;i++ ) { //遍历数组
if (i%2 ==0 || arr[i]%2==0) { //i%2==0为索引为偶数,arr[i]%2==0为元素为偶数
sum = sum +arr[i]; //求和
}
}
System.out.println("");
System.out.println("sum="+sum); //输出sum
return sum; //返回sum
}
}