JAVA面向对象综合训练(两个对象数组练习2.0版)第八节

题目要求:

定义数组存储3部汽车对象,汽车的属性:品牌,价格,颜色。

创建三个汽车对象,数据通过键盘录入而来,并把数据存入数组当中

知识重点:

第一套体系键盘输入nextInt()

这道题用到了键盘录入,我们先学习一下,键盘录入是如何使用的

public class Test {
    public static void main(String[] args) {
        //键盘录入
        //第一套体系 遇到空格,制表符,回车就停止接收
        //nextInt();接收整数
        //nextDouble();接收小数
        //next();接收字符串
        //第二套体系
        //nextLine();接收字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int num = sc.nextInt();
        System.out.println(num);
        System.out.println("请输入第二个整数");
        int num2 = sc.nextInt();
        System.out.println(num2);
    }
}
运行结果:(正常版)
请输入一个整数
123
123
请输入第二个整数
321
321
运行结果:(空格版) 

因为第一套体系的输入遇到空格,制表符,回车就会停止接收,我们来试一下,我们输入一个数的时候,按一下空格再输入一个数,看看它的结果如何

请输入一个整数
123 123
123
请输入第二个整数
123

我们可以看到,我们输入123空格123之后,第一个123停止接收,正好第二个sc.nextInt();来接收第二个输入的数字。 

 第一套体系键盘输入next()

next()是用来接收字符串的,当我们输入一个字符串的时候吗, 我们按下空格键的时候,就意味着我们第一个字符串输入完成,根据提示我们在输入一个字符串,输入完按下回车的时候,就意味着我们第二个字符串也输入完成,并且代码开始执行

 Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个字符串");
        String ch = sc.next();
        System.out.println(ch);
        Scanner sc2 = new Scanner(System.in);
        System.out.println("请输入第一个字符串");
        String ch2 = sc.next();
        System.out.println(ch2);
运行结果: (正常版)

下面代码我们输入完第一个字符串之后,按了回车,代表着第一个字符串输入完成,我们在再次输入字符串的时候会被默认为第二个字符串,再按回车就会再次的执行

请输入第一个字符串
abc
abc
请输入第一个字符串
dfg
dfg
运行结果:(空格版) 

下面这个运行结果就是我们所说的,输入完第一个字符串之后,按了空格,idea默认就是你第一个字符串已经输入结果,我们再次输入的时候就是第二个字符串,按回车的时候代表程序开始执行

请输入第一个字符串
abc dfg
abc
请输入第一个字符串
dfg
第二套体系nextLine(); 

这套体系与前者不同,遇到空格,制表符是不结束的,只有回车才行

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String line1 = sc.nextLine();
        System.out.println(line1);
        System.out.println("请输入第二个字符串");
        String line2 = sc.nextLine();
        System.out.println(line2);

 运行结果:(正常版)

运行的结果跟咱们预想的结果是一样的,我们输入一个字符串之后,加上一个空格,再输入一串字符,结果我们按回车发现,它依旧提示我们“请输入第二个字符串”,那就证明我们刚刚的解释是正确的,它遇到空格,制表符是不结束的,只有回车才行

请输入一个字符串
abc abc
abc abc
请输入第二个字符串
anc
anc
 键盘录入该如何使用?

我们系统性的学习过键盘录入以后,应该怎么去用呢?目前为止我们还是先用第一套体系的,第二套体系等我们学完了类型转化之后再用它。

解题思路 

品牌是一个字符串我们要用到next()方法,价格他是一个整数我们就要用nextInt()方法,颜色是一个字符串我们要用到nextInt()方法,我们有了数据之后,我们把三个数据对象,存入数组当中。按照题目的意思首先我要定义一个数组,然后我有三个汽车对象,分别把这三个对象放进去就可以。但是有一个前提,就是要有一个java病,才能创建对象啊。 我们首先要创建以一个java病,去描述汽车。属性一共有三个brand表示汽车的品牌,汽车的价格一般都是整型price价格,颜色color.接下来了我们要生成标准的JavaBean类即空参全参还有,按下Alt+Ins选Constructor(构造方法),Ctrl+A全选,全参构造就有了。

我们再按下Alt+Ins,选Getter and Setter,再按Ctrl+A全选回车,get和set方法就会生成        

 现在编制的JavaBean类就已经写完了,我们再建一个测试类,就叫做CarTest,我们接着写一个main方法,第一步我们创建一个数组用来存三个汽车对象 

//1.创建一个数组,用来存3个汽车对象
    Car[] arr = new Car[3];

我们继续把创建的汽车对象,数据用键盘输入

 Scanner sc = new Scanner(System.in);

 我们用for循环来输入这个类中的变量值,然后我们再遍历一遍数组

 //2.创建汽车对象,数据来自与键盘录入
        Scanner sc = new Scanner(System.in);

        for (int i = 0; i < arr.length; i++) {
            Car c = new  Car();
            //录入品牌
            System.out.println("请输入汽车的品牌");
            String brand = sc.next();
            c.setBrand(brand);
            //录入价格
            System.out.println("请输入汽车的价格");
            int price = sc.nextInt();
            c.setPrice(price);
            //录入颜色
            System.out.println("请输入汽车的颜色");
            String color = sc.next();
            c.setColor(color);
            //现在我们是把数据放到了汽车对象,汽车对象跟数组之间还没有关系
            //把汽车对象添加到数组当中
            arr[i] = c;
        }
        //遍历数组就可以
        for (int i = 0; i < arr.length; i++) {
            Car car = arr[i];
            System.out.println(car.getBrand()+","+car.getPrice()+","+car.getColor());
        }

JavaBean类代码

public class Car {
    private String  brand;//品牌
    private int price;//价格
    private String color;//颜色
    //空参
    public Car() {
    }
    //全参
    public Car(String brand, int price, String color) {
        this.brand = brand;
        this.price = price;
        this.color = color;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }
}

测试类的代码


public class CarTest {
    public static void main(String[] args) {
        //1.创建一个数组,用来存3个汽车对象
        Car[] arr = new Car[3];
        //2.创建汽车对象,数据来自与键盘录入
        Scanner sc = new Scanner(System.in);

        for (int i = 0; i < arr.length; i++) {
            Car c = new  Car();
            //录入品牌
            System.out.println("请输入汽车的品牌");
            String brand = sc.next();
            c.setBrand(brand);
            //录入价格
            System.out.println("请输入汽车的价格");
            int price = sc.nextInt();
            c.setPrice(price);
            //录入颜色
            System.out.println("请输入汽车的颜色");
            String color = sc.next();
            c.setColor(color);
            //现在我们是把数据放到了汽车对象,汽车对象跟数组之间还没有关系
            //把汽车对象添加到数组当中
            arr[i] = c;
        }
        //遍历数组就可以
        for (int i = 0; i < arr.length; i++) {
            Car car = arr[i];
            System.out.println(car.getBrand()+","+car.getPrice()+","+car.getColor());
        }
    }
}

运行结果: 

请输入汽车的品牌
长城
请输入汽车的价格
9999
请输入汽车的颜色
黑
请输入汽车的品牌
长安
请输入汽车的价格
8888
请输入汽车的颜色
白
请输入汽车的品牌
雪佛兰
请输入汽车的价格
4555
请输入汽车的颜色
紫色
长城,9999,黑
长安,8888,白
雪佛兰,4555,紫色

       

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值