黑马程序员技术交流社区

标题: 小练习题1 [打印本页]

作者: gcno93    时间: 2016-9-4 21:38
标题: 小练习题1
题目:
按照需求实现如下代码:
        a、定义一个int类型的数组,该数组的长度为10
        b、获取10个1 - 100之间的随机数,存储到数组中。并且保证该数组中的元素唯一(没有重复元素);
        c、打印数组,格式为:"[元素1, 元素2, 元素3, ...]"
        d、求数组中索引为偶数或者元素为偶数的和
个人代码,请指教:
import java.util.Random;
public class demo02 {
        public static void main(String[] args) {
                int[] arr=new int[10];
                Random random=new Random();
                boolean flag=true;//判断是否赋值
                for (int i = 0; i < arr.length; i++) {//控制个数
                        flag=true;//每次循环都要重新调整
                        int temp=random.nextInt(100)+1;//获得一个数
                        for (int j = 0; j <= i; j++) {//判断重复
                                if(temp==arr[j]){
                                        i--;//相等的话,只能让这次无效,继续
                                        flag=false;
                                        break;
                                }
                        }
                       
                        if(flag){//不相等
                                arr[i]=temp;//不相等
                        }
                }
                printnArr(arr);//打印数组
                //定义一个变量存储getOutSum函数返回的值
                int sum=getOutSum(arr);
                //输出这个结果
                System.out.println("数组中索引为偶数或者元素为偶数的和"+sum);
        }
        //求和---数组中索引为偶数或者元素为偶数的和
        public static int getOutSum(int[] arr) {
                //1.for循环遍历
                //2.先判断索引为偶数的,如果是就加入,不用再判断元素是偶数的了,
                //                        我第一个想到用短路模式 ||
                //创建一个保存和的变量
                int sum=0;
                for (int i = 0; i < arr.length; i++) {
                        //数组中索引为偶数或者元素为偶数
                        if(i % 2 ==0 || arr[i] % 2 ==0 ){//我才不管你是什么,总之满足就好
                                sum+=arr[i];
                        }
                }
                return sum;
        }
        //打印数组
        public static void printnArr(int[] arr){
                for (int i = 0; i < arr.length; i++) {
                        if(i==0){
                                System.out.print("[");
                        }
                        if(i<arr.length-1){
                                System.out.print(arr[i]+",");
                        }else{
                                System.out.print(arr[i]+"]");
                                System.out.println();
                        }
                }
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2