A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© DreamBoyMrsLin   /  2017-3-26 22:37  /  2071 人查看  /  31 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

DreamBoyMrsLin 发表于 2017-3-27 00:25
谢谢


来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
厉害了我的哥,老师的代码都找出错误了,老师可是月薪5w的
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
这是我写的可以看一下
[Java] 纯文本查看 复制代码
package homework;

import java.util.Random;

/*需求:1.返回一个存储10个4位数的随机整数 1000-9999的数组(注意思考怎么产生一个4位的随机整数)(不能重  复)
2.在方法中遍历这个随机数数组    */    
public class Test09 {
	public static void main(String[] args) {
		//定义一个数组
		int[] arr = new int[10];
		
		Random r = new Random();
		arr[0] = r.nextInt(9000) + 1000;
		for (int i = 1; i < arr.length; i++) {
			//遍历数组为每个元素赋值
			//定义一个标记是否前面出现过
			boolean flag = false;
			while (true) {
				arr[i] = r.nextInt(9000) + 1000;
				//遍历比i小的索引,判断是否有和arr[i]相同的元素
				for (int j = 0; j < i; j++) {
					if (arr[j] == arr[i]) {
						flag = true;
						break;
					}
				}
				if (!flag) {
					break;
				}
			}			
		}
		//遍历数组
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}


回复 使用道具 举报

public class Test03 {
        public static void main(String[] args) {
                Random r = new Random();
                ArrayList<Integer> list = new ArrayList<>();
                int i=0;
                while(list.size()<10){
                        int a = r.nextInt(9000)+1000;
                        if(!list.contains(a)){
                                list.add(a);
                        }else{
                                i--;
                        }
                        i++;
                }
                System.out.println(list);
        }

}看看,交流一下,是这么着吗?
回复 使用道具 举报

import java.util.ArrayList;
import java.util.Random;

/*
需求:1.返回一个存储10个4位数的随机整数 1000-9999的数组(注意思考怎么产生一个4位的随机整数)(不能重  复)
        2.在方法中遍历这个随机数数组    */
public class Test03 {
        public static void main(String[] args) {
                int [] arr = math();
                for (int i : arr) {
                        System.out.println(i);
                }
               
        }
        public static int [] math(){
        Random r = new Random();
        ArrayList<Integer> list = new ArrayList<>();
        int i=0;
        while(list.size()<10){
                int a = r.nextInt(9000)+1000;
                if(!list.contains(a)){
                        list.add(a);
                }else{
                        i--;
                }
                i++;
        }
        int [] arr = new int [10];
        for (int j = 0; j < list.size(); j++) {
                arr[j] = list.get(j);
        }
        return arr;

        }
}
这样应该更符合题意,其实我就想蹭点技术分
回复 使用道具 举报
郝永 发表于 2017-4-12 23:03
import java.util.ArrayList;
import java.util.Random;

你这样真的好吗?老同学  
回复 使用道具 举报
郝永 发表于 2017-4-12 22:54
public class Test03 {
        public static void main(String[] args) {
                Random r = new Random();

public class Test03 {
        public static void main(String[] args) {
                Random r = new Random();
                ArrayList<Integer> list = new ArrayList<>();
                int i=0;
                while(list.size()<10){
                        int a = r.nextInt(9000)+1000;
                        if(!list.contains(a)){
                                list.add(a);
                                   i++;
                        }
                       
                }
                System.out.println(list);
        }
这样做也可以  可以省一句代码 这道题主要考的是思路
回复 使用道具 举报
楼主厉害了,赞一个!!!涨知识了!!!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
DreamBoyMrsLin 发表于 2017-4-12 23:35
public class Test03 {
        public static void main(String[] args) {
                Random r =  ...

我发现这个变量i是不是没用?
回复 使用道具 举报
郝永 发表于 2017-4-14 22:01
我发现这个变量i是不是没用?

这个变量i有用呀
回复 使用道具 举报

你删除试试
回复 使用道具 举报
哈哈,我表示自己写代码很爽,如果看别人写的代码很痛苦,这道题不难,我讲下我的做法,最外层是个for循环,来填十个数,再内一层,用while循环,来判断随机生成的数和数组中不重复再进行填下一个数,如果重复就无线循环随机生成,再内层就是随机生成,其实思路有了就好说
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马