题目要求:
定义数组存储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,紫色