题目:定义数组存储3部汽车对象;汽车属性:品牌,价格,颜色;创造3个汽车对象,数据通过键盘录入而来,并把数据存储到数组当中
分析: 在main()里面定义一个含3个元素的空数组,数组里面的一个元素代表一个对象,利用for循环,对每个对象里的变量赋值,赋值完毕,将每个对象放到数组之中(for循环中定义对象名可以相同,因为虽然对象名相同,但是它存储的是地址值,每个对象是用new在堆中开辟的空间,开辟的空间不同,地址值不同,不影响数据值)
键盘录入:
nextInt();接受整数
nextDouble();接收小数
next();接收字符串---遇到空格,制表符,回车就停止接收,这些符号后面的数据既不会接收了
nextLine();接受字符串---可以接收空格,制表符,遇到回车才停止接收数据(弊端:先使用nextInt()再使用nextLine(),后者就接受不到数据了)
定义类
package text;
public class Cars {
//定义数组存储3部汽车对象
//汽车属性:品牌,价格,颜色
//创造3个汽车对象,数据通过键盘录入而来,并把数据存储到数组当中
private String brand; //品牌
private double price;// 价格
private String color;//颜色
public Cars() {
}
public Cars(String brand, double 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 double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
对象的创建与使用
package text;
import java.util.Scanner;
public class CarsText {
public static void main(String[] args) {
//创建一个数组,用来存3个汽车对象
Cars[] arr=new Cars[3];
//创建汽车对象,数据由键盘输入
Scanner sc=new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
int a=i+1;
Cars c=new Cars();
//录入品牌
System.out.println("请输入第"+a+"个品牌");
String brand=sc.next();
c.setBrand(brand);//赋值用set,调用用get
//录入价格
System.out.println("请输入第"+a+"个价格");
double price=sc.nextInt();
c.setPrice(price);
//录入颜色
System.out.println("请输入第"+a+"个颜色");
String color=sc.next();
c.setColor(color);
//对象的所以属性录入完毕,将对象放入数组当中
arr[i]=c;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i].getBrand()+","+arr[i].getColor()+","+arr[i].getPrice());
}
}
}
问题
结果