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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Zengpenh 中级黑马   /  2018-1-17 13:34  /  2883 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Zengpenh 于 2018-1-17 23:28 编辑



Day。。。学习经历:
上午:做了一道第六天视频里的题!差点把自己绕进去了。。。。(附代码)
源哥讲了个赌博的小游戏!挺好玩的,改进了一下(附上代码)。
/**分析以下需求,并用代码实现               
        1.提示用户输入10个整数,存入到int数组中;根据以下要求实现相关功能
        2.提示用户输入一个数字作为数组索引,查找数组中该索引对应的元素,
                (需要判断输入的数字是否在0-9之间包含临界值,如果该数字不符合要求则随机生成一个符合要求的索引)
        3.将a中得到的索引对应的元素的左右两边元素进行互换,若对应的元素是第一个或最后一个则不做任何操作
* */
public class Day06Test07 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int[] arr = memory();// 提示用户输入10个整数,存入到int数组中;根据以下要求实现相关功能
                System.out.println(Arrays.toString(arr));// 打印存入数据的数组
                int duiYing = element(arr);// 提示用户输入一个数字作为数组索引,查找数组中该索引对应的元素(需要判断输入的数字是否在0-9之间包含临界值,如果该数字不符合要求则随机生成一个符合要求的索引),
                System.out.println(arr[duiYing]);// 打印角标对应的元素
                change(duiYing, arr);// 将a中得到的索引对应的元素的左右两边元素进行互换,若对应的元素是第一个或最后一个则不做任何操作
                System.out.println(Arrays.toString(arr));// 打印互换后的结果
        }

        // 1.提示用户输入10个整数,存入到int数组中;根据以下要求实现相关功能
        public static int[] memory() {//定义一个返回值为int类型数组的方法
                int[] arr = new int[10];//初始化数组长度
                for (int x = 0; x < arr.length; x++) {//循环遍历数组
                        System.out.println("请输入第" + (x + 1) + "个数:");//提示用户输入第几个数
                        Scanner scanner = new Scanner(System.in);//创建Scanner对象
                        int element = scanner.nextInt();//获取键盘录入的数字
                        arr[x] = element;//将获取到的数赋值给当前角标
                }
                return arr;//返回arr数组
        }

        // 2.提示用户输入一个数字作为数组索引,查找数组中该索引对应的元素,
        public static int element(int[] arr) {//定义一个返回int类型,接收一个int类型数组的方法
                int index = 0;//初始化角标为0
                System.out.println("请输入一个角标数:");//提示用户输入一个角标值
                Scanner scanner = new Scanner(System.in);//创建一个Scanner对象
                int number = scanner.nextInt();//获取键盘录入的数字
                if (number > arr.length - 1 || number < 0) {// (需要判断输入的数字是否在0-9之间包含临界值,如果该数字不符合要求则随机生成一个符合要求的索引)
                        Random random = new Random();//创建一个Random对象
                        int rr = random.nextInt(arr.length + 1);//生成一个随机数0-9
                        System.out.println("随机生成的角标值为:" + rr);
                        for (int x = 0; x < arr.length; x++) {//循环遍历arr数组
                                if (x == rr) {//如果x==随机生成的数
                                        index = x;//用index记录住这个数
                                }
                        }
                } else {
                        for (int x = 0; x < arr.length; x++) {//循环遍历arr数组
                                if (x == number) {//如果x==键盘录入的数
                                        index = x;//用index记录住这个数
                                }
                        }
                }
                return index;//返回index
        }
        // 3.将a中得到的索引对应的元素的左右两边元素进行互换,若对应的元素是第一个或最后一个则不做任何操作
        public static void change(int index, int[] arr) {
                if (index != 0 && index != arr.length - 1) {//如果index角标值不等于第一个角标和最后一个角标
                        //定义第三方变量置换
                        int temp = arr[index - 1];
                        arr[index - 1] = arr[index + 1];
                        arr[index + 1] = temp;
                }
        }
}





//赌博游戏来了,押大还是押小
public class YaDaYaXiao {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int money = 200;
                while (true) {
                        System.out.print("请输入你要压的金额:");
                        Scanner scanner = new Scanner(System.in);
                        int ya = scanner.nextInt();
                        if (ya > money) {
                                System.out.println("您的余额不足请充钱");
                                break;
                        }
                        money = money - ya;
                        System.out.println("当前余额:" + money);
                        System.out.println("请输入你是压大--1,还是压小--0");
                        int x = scanner.nextInt(2);
                        Random random = new Random();
                        int sui = random.nextInt(2);
                        if (x == 1) {
                                System.out.println("大");
                        } else {
                                System.out.println("小");
                        }
                        if (x == sui) {
                                money = money + ya * 2;
                                System.out.println("恭喜你中奖了");
                                System.out.println("当前余额为:" + money);
                        } else {
                                System.out.println("请继续努力");
                                System.out.println("当前余额为:" + money);
                        }
                        if (money <= 0) {
                                System.out.println("充钱去");
                                break;
                        }
                        System.out.println("还需要继续玩吗?--1,不想玩了--0");
                        int c = scanner.nextInt(2);
                        if (c == 1) {
                                continue;
                        } else {
                                break;
                        }

                }
        }




5 个回复

正序浏览
认真的人最可爱
回复 使用道具 举报
深深被笔记折服 棒棒哒~
回复 使用道具 举报
期待你每天的进步   温故而知新
回复 使用道具 举报
厉害了哦,保持,继续努力
回复 使用道具 举报
今天下午跟着源哥温习了一下之前学的一些知识点:
Random的使用步骤:
作用:
–      用于产生一个随机数
•       使用步骤(和Scanner类似)
–      导包
      import java.util.Random;
–      创建
    Random r = new Random();
–      获取随机数
       int number = r.nextInt(10);
      产生的数据在0到10之间,包括0,不包括10
       括号里面的10是可以变化的,如果是100,就是0-100之间的数据

   二维数组格式
   定义格式
   数据类型[][] 数组名;
   数据类型 数组名[][]; 不推荐
   数据类型[] 数组名[]; 不推荐
   初始化方式
   数据类型[][] 变量名 = new 数据类型[m][n];
   数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};

   简化版格式:数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};


下面是自己预习做的笔记:


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马