java练习
动物类创建练习
题
定义猫类Cat: 属性:毛的颜色color,品种breed 行为:吃饭eat(),抓老鼠catchMouse() 定义狗类Dog: 属性:毛的颜色color,品种breed 行为:吃饭eat(),看家lookHome() |
要求:
1. 按照以上要求定义Cat类和Dog类,属性要私有,生成空参、有参构造,set和get方法 2. 定义测试类,在main方法中创建该类的对象并给属性赋值(set方法或有参构造方法) 3. 调用成员方法,打印格式如下: 花色的波斯猫正在吃鱼.... 花色的波斯猫正在逮老鼠... 黑色的藏葵正在啃骨头.... 黑色的藏葵正在看家... |
1.类中的属性就是成员变量,类中的行为功能就是成员方法。 2.成员变量要被private修饰。 |
1.定义猫类,定义成员变量,构造方法,set和get方法,吃饭方法eat(),抓老鼠方法catchMouse(),方法中根据题目给出的格式输出成员变量的值。
/* @Title: Cat.java
* @date 2022-10-27 11:06:18
* @author Long Yongchuan
*/
package code.working;
public class Cat {
private String color;
private String bread;
// 无参构造器
public Cat() {
}
// 有参构造方法
public Cat(String color, String bread) {
this.color = color;
this.bread = bread;
}
// 设置color的get,set方法
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
// 设置bread的get,ste方法
public String getBread() {
return bread;
}
public void setBread(String bread) {
this.bread = bread;
}
// 设置行为方法
public void eat() {
System.out.println(getColor() + getBread() + "正在吃鱼.....");
}
public void catchMouse() {
System.out.println(getColor() + getBread() + "正在逮老鼠.....");
}
}
2.定义狗类,定义成员变量,构造方法,set和get方法,吃饭方法eat(),看家方法lookHome(),方法中根据题目给出的格式输出成员变量的值。
/* @Title: CatDog_Test.java
* @date 2022-10-27 11:23:10
* @author Long Yongchuan
*/
package code.working;
public class Dog {
private String color;
private String bread;
// 无参构造器
public Dog() {
}
// 有参构造方法
public Dog(String color, String bread) {
this.color = color;
this.bread = bread;
}
// 设置color的get,set方法
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
// 设置bread的get,ste方法
public String getBread() {
return bread;
}
public void setBread(String bread) {
this.bread = bread;
}
// 设置行为方法
public void eat() {
System.out.println(getColor() + getBread() + "正在啃骨头.....");
}
public void lookHome() {
System.out.println(getColor() + getBread() + "正在看家.....");
}
}
3.在测试类中使用有参构造创建猫类对象,调用eat()方法和catchMouse()方法。
4.在测试类中使用有参构造创建狗类对象,调用eat()方法和lookHome()方法。
/* @Title: CatDog_Test.java
* @date 2022-10-27 11:30:03
* @author Long Yongchuan
*/
package code.working;
public class CatDog_Test {
public static void main(String[] args) {
Cat cat = new Cat();
cat.setColor("花色的");
cat.setBread("波斯猫");
cat.eat();
cat.catchMouse();
Dog dog = new Dog();
dog.setColor("黑色的");
dog.setBread("藏獒");
dog.eat();
dog.lookHome();
}
}
- 运行结果
学生类创建遍历集合(按学号查找)
题
后台程序需要存储学生信息并展示,然后要提供按照学号搜索学生信息的功能 |
要求:
①定义Student类,定义ArrayList集合存储如上学生对象信息,并遍历展示出来 ②提供一个方法,可以接收ArrayList集合,和要搜索的学号,返回搜索到的学生对象信息,并展示 ③使用死循环,让用户可以不停的搜索 |
解题方案操作步骤
- 创建学生对象,提供get,set方法
/* @Title: Student.java
* @date 2022-11-04 10:54:35
* @author Long Yongchuan
*/
package workSpace.cn;
/**
* @ClassName Student
* @author Long Yongchuan
*/
public class Student {
private String num;
private String name;
private int age;
private String gender;
private String grade;
public Student() {
}
public Student(String num, String name, int age, String gender, String grade) {
super();
this.num = num;
this.name = name;
this.age = age;
this.gender = gender;
this.grade = grade;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}
- 创建测试类–>创建集合并添加对象–>定义对比方法–>遍历查询
/* @Title: Working_06.java
* @date 2022-11-04 10:53:43
* @author Long Yongchuan
*/
package workSpace.cn;
import java.util.ArrayList;
import java.util.Scanner;
/**
* @ClassName Working_06
* @author Long Yongchuan
*/
public class Working_06 {
public Working_06() {
}
// @MethodName: main
public static void main(String[] args) {
// 创建集合对象(学生)
ArrayList<Student> students = new ArrayList<>();
// 添加学生对象到集合中
students.add(new Student("202201", "李华", 18, "男", "大一年级"));
students.add(new Student("202202", "张硕", 20, "男", "大二年级"));
students.add(new Student("202203", "王言", 20, "女", "大三年级"));
// 遍历集合
System.out.println("学号\t\t姓名\t\t年龄\t\t性别\t\t年级\t\t");
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
System.out.println(student.getNum() + "\t\t" +
student.getName() + "\t\t" + student.getAge() + "\t\t" +
student.getGender() + "\t\t" + student.getGrade());
}
while(true) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生6位数学号:");
// 信息查询
String input_num = scanner.next();
Student student = queryStudentByNum(students, input_num);
if (student == null) {
System.out.println("该学号不存在!");
} else {
System.out.println("学号:" + student.getNum() + " 姓名:" + student.getName() +
" 年龄:" + student.getAge() + " 性别:" + student.getGender() +
" 年级:" + student.getGrade());
break;
}
}
}
// 定义方法根据学号查询
public static Student queryStudentByNum(ArrayList<Student> students, String num) {
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
if (student.getNum().equals(num)) {
return student;
}
}
return null;
}
}
- 运行结果