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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1:定义一个静态的ArrayList<Integer> getList()方法,方法内完成:
1.1定义收集整数的集合list
1.2集合内的元素由7个整数组成,要求前6个元素是1~33(包含1和33)的随机数,第7个数字是1-16(包含1和16)之间的随机数(要求:前6个元素不能重复且需按从小到大排序,第7个数字不参与排序可以和前6个重复)
1.3将集合内的所有元素打印到控制台,格式是:“3,11,20,23,26,29,8”
1.4返回集合
2:定义main方法,方法内完成:
2.1:调用ArrayList<Integer> getList()方法获取集合list;
2.2:键盘依次录入7个整数,录入前有相应的提示:“请输入第几个整数”
2.3:如录入整数的大小和顺序与集合list中元素值的大小、角标顺序一致即该整数被猜中了
  2.4:打印一共猜对了几个数字  格式:“您猜对了几个数字”

10 个回复

倒序浏览
回复 使用道具 举报
public class Test_List {
/**
        * 1:定义一个静态的ArrayList<Integer> getList()方法,方法内完成:
        *1.1定义收集整数的集合list
        *1.2集合内的元素由7个整数组成,要求前6个元素是1~33(包含1和33)的随机数,第7个数字是1-16(包含1和16)之间的随机数(要求:前6个元素不能重复且需按从小到大排序,第7个数字不参与排序可以和前6个重复)
        *1.3将集合内的所有元素打印到控制台,格式是:“3,11,20,23,26,29,8”
        *1.4返回集合
        *2:定义main方法,方法内完成:
        *2.1:调用ArrayList<Integer> getList()方法获取集合list;
        *2.2:键盘依次录入7个整数,录入前有相应的提示:“请输入第几个整数”
        *2.3:如录入整数的大小和顺序与集合list中元素值的大小、角标顺序一致即该整数被猜中了
        *2.4:打印一共猜对了几个数字  格式:“您猜对了几个数字”
*/
        public static void main(String[] args) {
                ArrayList<Integer> list = getList();
                Scanner sc = new Scanner(System.in);
                int num = 0;
                for(int i = 1;i<8;i++){
                        System.out.println("请输入第"+i+"个整数");
                        if(sc.nextInt() == list.get(i-1)){
                                num++;
                                System.out.println("猜中了");
                        };
                }
                System.out.println("您猜对了"+num+"个数字");
               
        }

public static ArrayList<Integer> getList() {
        ArrayList<Integer> list = new ArrayList<>();
        Random r = new Random();
        for (int i = 0; i < 6; i++) {
                list.add(r.nextInt(33)+1);
        }
        list = sort(list);
        list.add(r.nextInt(16)+1);
        for (int i = 0;i<list.size();i++) {
                if(i==list.size()-1){
                        System.out.println(list.get(i)+"");               
                }else{
                        System.out.print(list.get(i)+",");               
                }
               
        }
        return list;
}

private static ArrayList<Integer> sort(ArrayList<Integer> oldlist) {
//        冒泡排序
        ArrayList<Integer> list = oldlist;
//                int i,j;
                int size = list.size();
                Integer tem;
                for(int i=0;i<size-1;i++){
                        for(int j = 0;j<size-1;j++){
                                tem = list.get(j);
                                if(list.get(j).compareTo(list.get(j+1))>0){
                                        list.set(j, list.get(j+1));
                                        list.set(j+1,tem);
                                }else if(list.get(j).compareTo(list.get(j+1))==0){
                                        list.set(tem == 33 ? j:j+1,tem == 33 ? tem -1:tem +1 );
                                }
                        }
                }       
        return list;
}
}

评分

参与人数 1黑马币 +5 收起 理由
我认识你 + 5 谢谢帮助!

查看全部评分

回复 使用道具 举报
回复 使用道具 举报
宇轩H 发表于 2017-1-29 14:26
public class Test_List {
/**
        * 1:定义一个静态的ArrayList getList()方法,方法内完成:

好像有点小问题
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
[AppleScript] 纯文本查看 复制代码
package test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		ArrayList<Integer> guessNum = new ArrayList<>();
		Scanner sc = new Scanner(System.in);
		int index = 1;
		while (index <= 7) {
			System.out.println("请输入第" + index + "个整数");
			int num = sc.nextInt();
			guessNum.add(num);
			index++;
		}
		System.out.println("中奖号码为:");
		ArrayList<Integer> list = getList();
		int count = 0;
		for (int i = 0; i < list.size(); i++) {
			if (list.get(i) == guessNum.get(i)) {
				count++;
			}
		}
		System.out.println("您一共猜对了" + count + "个数字");
	}

	private static ArrayList<Integer> getList() {
		Random rd = new Random();
		ArrayList<Integer> list = new ArrayList<>();
		while (list.size() <= 5) {
			int num = rd.nextInt(33) + 1;
			if (!(list.contains(num))) {
				list.add(num);
			}
		}
		Collections.sort(list);
		int lastNum = rd.nextInt(16) + 1;
		list.add(lastNum);
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < list.size(); i++) {
			if (i == 6) {
				sb.append(list.get(i));
			} else {
				sb.append(list.get(i) + ",");
			}
		}
		System.out.println(sb);
		return list;
	}
}

//不爱写注释,挺简单的,没注释看也应该能看懂

回复 使用道具 举报
KyneZhk 发表于 2017-1-29 19:07
以下是按照需求的代码:
[mw_shl_code=applescript,true]public class Test {
        public static void main(Str ...

没仔细看,瞟了一眼看到了34就知道肯定不对了
回复 使用道具 举报
KyneZhk 发表于 2017-1-31 17:49
那我就只能呵呵了

你呵呵啥
回复 使用道具 举报
好好学习,天天向上..
回复 使用道具 举报
newu 黑马帝 2017-2-1 09:10:03
11#
我只是路过打酱油的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马