美文网首页
8.06 集训第八天 【Android studio入门】

8.06 集训第八天 【Android studio入门】

作者: 草莓灵啾啾 | 来源:发表于2019-08-07 07:59 被阅读0次

今日目标

将之前的demo转移到Android studio上实现

学习内容

  • 类:Contact[姓名 地址 email 电话号码]
    java里面除了八大基本数据类型(byte char boolean short int long double float)外都是对象 抽象的 不实际存在 描述同一类实物(具有共同的属性和方法)
    例如:人类->抽象的 不是就存在的 不能完成具体的事情
    类就是封装
  • 封装:
    把私有的东西封装起来 不让外部使用
    需要给外部用 就暴露出来
    访问权限:public private protected
    public:公共的 想用就用/内部可以使用 外部也可
    private:私有 只能自己使用 外部无法访问
    protected:受保护的 外部(同一个包)可以访问
  • 定义一个类 通常情况下一个文件对应一个类
    public static final
    修饰符 class 类名{
    这个类的一些属性:成员变量
    这个类的功能:方法
  • 对象:通过new产生
    具体的 实际存在的 某一类的实例化
    可以完成具体的事情->有内存空间
    例如:小王:具体存在 可以使用的
    同一个类可以有多个对象
  • 方法 indexOf
    用来判断一个字符串中时都有某个字符或者字符串,有的话就返回字符的起始位置(0表示第一个字符),没有的话就返回-1
    org[i]表示从第org[i]个开始找起
int index = indexOf(guess,org[i]);
  • 方法 sort
    可以对基本数据类型、数组、包装类类型进行升序排序(默认为升序)
    格式:Arrays.sort(数组名)
Scanner sc=new Scanner(System.in);
int num={5,4,3,2,1};
Arrays.sort(num) ;
for(int i=0;i<5;i++){
System.out.println(num[i]);}
  • 方法 toString
    将任何对象转换成字符串表达形式,就是用文字描述这个对象里各个变量是什么值,这个变量是什么类型的变量等

实际操作

class GuessNumber{

    public static void main(String[] args){
        //保持原始数字
        int[] org=new int[4];
        //产生四个随机数
        int[] guess=new int[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=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 = indexOf(guess,org[i]);
                   System.out.println("i:"+i+" index:"+index);
                    if(index==i){
                        //数字和位置都相同
                        countA++;
                    }
                    else{countB++;
                    }

                }
            }
            if(countA==4){
                System.out.println("恭喜全对");
                break;
            }
            else{
                System.out.println(countA+"A"+countB+"B");
            }
        }

    }


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

        }
        return false;
    }

}

心得体会

同一个demo用Java比用C语言做的过程要简便得多

顺便,七夕到了,FFF团出动,|˄·͈༝·͈˄₎.。oO

相关文章

网友评论

      本文标题:8.06 集训第八天 【Android studio入门】

      本文链接:https://www.haomeiwen.com/subject/mrvgdctx.html