题目:定义数组存储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());}}
}
问题
结果