数组的定义及遍历,类和对象的概念,方法的定义及调用,修饰符,java实现猜数字游戏

目的:
1.明白以及掌握数组的定义以及基本用法
2.了解类和对象的概念
3.明白方法的定义掌握方法的调用
4.掌握修饰符的概念和用法
5.通过编代码巩固所学的知识
技术及实施:
数组一旦被定义 大小就确定了,无法更改
在一个数组里面查找某个对象的索引值
* @param val 数组
* @param obj 查找的对象
* @return 索引值

静态数组


        int[] score = {1,2,3};
        String[] names = {"jack","merry"};

动态 内容添加

   float[] height = new float[5];
        height[0] = 165.5f;
        height[1] = 170f;
  Random r = new Random();
        //尽量不要扩大变量的作用域
        //int[] Arrays
        int[] count = new int[10];
        for (int i = 0; i < 10; i++){
            count[i] = r.nextInt(100);
        }


数组输出方式:

  //数组输出方式1
        for (int i = 0; i < 10; i++){
            System.out.print(count[i]+" ");
        }
        System.out.println();

        //数组输出方式2
        for (int temp: count){
            System.out.print(temp + " ");
        }
        System.out.println();
        
        //数组输出方式3
        System.out.println(Arrays.toString(count));
     }

自己写一个方法实现 判断某个数组里面是否包含某个值

public static boolean contains(int[] val, int obj){
        for (int i = 0; i < val.length; i++){
            if (val[i] == obj){
                //重复了
                return true;
            }
        }
        return false;
    }

方法调用:

  //判断用户输入
            //1.判断是否存在
            for (int i = 0; i < 4; i++) {
                boolean result =contains(guess, org[i]);
                if(result == true){
                    //数字存在

修饰符:public static final
public是一个访问权限修饰符,表示被修饰者有公共访问权限
被static修饰的成员变量和成员方法独立于该类的任何对象
用final修饰的类不能被继承,即不能拥有自己的子类
java语言实现猜数字游戏:

class GuessNumber{
    public static void main(String[] args){
        //保存原始数字
        int[] org = new int[4];
        //保存用户猜测的数字
        int[] guess = new int[4];

        //产生4个随机数
        Random random = new Random();
        for (int i = 0; i < 4; i++){
            //产生一个随机数
            int temp = random.nextInt(10);

            //判断是否存在
            boolean result = contains(org, temp);

            if (result){
                //确保i对应的位置能够得到一个不重复的数字
                i--;
            }else{
                org[i] = temp;
            }
        }

        //排序
        Arrays.sort(org);

        System.out.println(Arrays.toString(org));

        //定义一个扫描仪对象Scanner
        Scanner scanner = new Scanner(System.in);
        //开始游戏
        while(true){
            int countA = 0;
            int countB = 0;
            
            System.out.print("请输入猜测的数字:");

            for (int i = 0; i < 4;i++){
                guess[i] = scanner.nextInt();
            }

            //判断用户输入
            //1.判断是否存在
            for (int i = 0; i < 4; i++) {
                boolean result =contains(guess, org[i]);
                if(result == true){
                    //数字存在
                    //判断位置是否相同
                    int index = Arrays.asList(guess).indexOf(org[i]);
                    
                    if (index == i){
                        //数字和位置都相同
                        countA++;
                    } else{
                        countB++;
                    }
                }
            }
            
            if (countA == 4){
                System.out.println("恭喜全对!");
                break;
            }
        }
    }

    //自己写一个方法实现 判断某个数组里面是否包含某个值
    public static boolean contains(int[] val, int obj){
        for (int i = 0; i < val.length; i++){
            if (val[i] == obj){
                //重复了
                return true;
            }
        }
        return false;
    }
}

感悟:
今天又是收获满满的一天,知道Java语言与c语言有许多的不同之处,学习了java数组的定义及使用,类,对象,等等,感觉很充实。感受了java可以调用方法的便捷之处,但是也得会正确调用。暂时还是有点不习惯Java编写,可能是c语言用惯了。学习的东西有点多,需要好好消化一下。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 5,404评论 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 5,795评论 0 10
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,575评论 0 11
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,038评论 0 4
  • 今天不用做早饭,醒了后就打开手机,看到关注的那个作者的文,职业写作是一门承受各种打击的艺术,转给丽丽看,并附文,这...
    pennyzhou阅读 2,481评论 0 0