感觉面向对象中的一维数组像二维数组一样,一个元素中可以存好多数据,建议第二关多看看
掌握知识点(1,2)
- 对象之数组静态赋值
- 对象数组定义
- split()方法
- Double.valueOf()方法,字符串转Double
- 面向对象数组概念
通关源码(1)
/**
* 任务:使用对象数组的方式创建 3 个 Dog 对象
* 类名为:Dog
* 该类为 Dog 的基本属性
*/
public class Dog {
private String name; // 小狗名称
private String type; // 小狗品种
private int age; // 小狗年龄
private String hobby; //小狗爱好
public Dog(){
}
public Dog(String name, String type, int age, String hobby) {
this.name = name;
this.type = type;
this.age = age;
this.hobby = hobby;
}
// 获取Dog姓名
public String getName() {
return name;
}
// 设置Dog姓名
public void setName(String name) {
this.name = name;
}
// 获取Dog种类
public String getType() {
return type;
}
// 设置Dog种类
public void setType(String type) {
this.type = type;
}
// 获取Dog年龄
public int getAge() {
return age;
}
// 设置Dog年龄
public void setAge(int age) {
this.age = age;
}
// 获取爱好
public String getHobby() {
return hobby;
}
// 设置爱好
public void setHobby(String hobby) {
this.hobby = hobby;
}
// Dog的详细信息
public void info(){
System.out.printf("小狗名称:%s\n品种:%s\n小狗年龄:%d\n小狗爱好:%s\n",name,type,age,hobby);
}
public static void main(String[] args) {
Dog d1 = new Dog("Tom", "哈士奇",2,"拆家");
Dog d2 = new Dog("jerry", "中华田园犬",3,"护家");
Dog d3 = new Dog("旺财","柯基",2,"吃喝玩");
//begin
Dog []dog = new Dog[]{d1,d2,d3}; //静态赋值
for (int i = 0; i < dog.length; i++) {
dog[i].info();
}
//下面是加强for语法,便于理解,还是看上面的吧
// for(Dog i:dog){
// i.info();
// }
}
}
通关源码(2)
import java.util.Scanner;
public class Student {
private String name; // 学生的姓名
private String num; // 学生的学号信息
private double grades; // 学生的成绩
// 有参构造方法
public Student(String name, String num, double grades) {
this.name = name;
this.num = num;
this.grades = grades;
}
// 获取和设置学生的属性信息
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public double getGrades() {
return grades;
}
public void setGrades(double grades) {
this.grades = grades;
}
public static void main(String[] args) {
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 创建可以存放三个对象的对象数组
Student[] stu = new Student[3];
// 获取键盘输入的学生信息,将数组中的对象进行实例化
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < stu.length; i++) {
String str = scanner.next();
stu[i] = new Student(str.split(",")[0],str.split(",")[1]
,Double.valueOf(str.split(",")[2]));
}
for (int i = 0; i < stu.length; i++) {
System.out.printf("姓名:" + stu[i].getName() + "\t学号:" + stu[i].getNum() + "\t成绩:" + stu[i].getGrades() + "\n");
}
/********** End **********/
}
}