需求:学生有姓名和年龄信息,学生可以进行自我介绍。班级有班级名称和人数(班级最多容纳50人),实现向班级中添加学生,输出班级所有学生。
1、学生类:属性(姓名、年龄);行为(自我介绍)
2、班级类:属性(班级名称、人数);行为(添加学生,显示所有学生信息)
3、测试类:对数据的输入输出
注:不用list,下面有个半成品代码,add()里面不知道如何写,要怎样才能添加学生信息?学生类和班级类里的数组如果数值传递?
package text;
class Student{
private String name;
private int age;
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 Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
// TODO 自动生成的构造函数存根
}
public String sey() {
return "姓名" + name +" 年龄" + age;
}
}
class MyClass{
private String className;
private Student[] arr= new Student[50];
public void add() {
}
}
public class One {
public static void main(String[] args) {
Student stu = new Student("王",20);
Student stu1 = new Student("小",24);
System.out.println(stu.sey());
System.out.println(stu1.sey());
}
}
使用数组确实不太好用
package text;
class Student{
private String name;
private int age;
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 Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
// TODO 自动生成的构造函数存根
}
public String sey() {
return "姓名" + name +" 年龄" + age;
}
}
class MyClass{
private String className;
private Student[] arr= new Student[50];
public void add(Student st) {
for(int i =0;i<arr.length;i++){
if(arr[i]==null){
arr[i] = st;
return;
}
}
}
public void showAll(){
for(int i=0;i<arr.length;i++){
if(arr[i]!=null){
System.out.println(arr[i].sey());
}
}
}
}
public class One {
public static void main(String[] args) {
Student stu = new Student("王",20);
Student stu1 = new Student("小",24);
System.out.println(stu.sey());
System.out.println(stu1.sey());
MyClass myClass = new MyClass();
myClass.add(stu);
myClass.add(stu1);
myClass.showAll();
}
}
要求用数组?一般不都是用列表吗?
import java.util.ArrayList;
import java.util.List;
class Student{
private String name;
private int age;
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 Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
// TODO 自动生成的构造函数存根
}
public String say() {
return "姓名" + name +" 年龄" + age;
}
}
class MyClass{
private String className;
private int number;
private Student[] arr= new Student[50];
private List<Student> studentList = new ArrayList<>();
public void add(Student stu) {
studentList.add(stu);
}
public void showAll()
{
for (Student student: studentList)
{
System.out.println(student.getName()+student.getAge());
}
}
}
public class One {
public static void main(String[] args) {
Student stu = new Student("王",20);
Student stu1 = new Student("小",24);
System.out.println(stu.say());
System.out.println(stu1.say());
MyClass myClass = new MyClass();
myClass.add(stu);
myClass.add(stu1);
myClass.showAll();
}
}
我写过客户信息管理,也是用的数组,你可以参考一下把客户改成学生管理就行!
https://guanzhu-aniu.blog.csdn.net/article/details/126499769