我有一些代码可以让我注册一个学生(ID,姓名,年龄等),现在我可以做但只接受一个用户,如果我注册一个新用户会覆盖,这就是我需要的现在,能够有一个以上的学生。
所以我在想,如果我使用C,我会使用结构,类似这样的
struct Students {
int ID[6];
char Name[35];
char Age[2];
} student;
读了一下后,Java没有这个功能。
如何在Java中执行此操作?有可能吗?
由于
答案 0 :(得分:2)
Java没有struct
。
您可以将class
用作具有公共访问说明符且没有方法
答案 1 :(得分:2)
在Java中,你可以为学生上课。一旦你更好地了解java,你应该将这些属性更改为private或protected,并使用public getter / setter方法。
public class Student{
public int id;
public String name;
public int age;
}
然后在您的主要代码中,您可以创建所需的许多学生:
Student myStudentA = new Student();
答案 2 :(得分:1)
确实,在C中你会使用结构来体现每个学生所需的信息。
在像Java这样的面向对象语言中,您可以使用类。因此,您定义的C结构的等价物将类似于Java中的以下类:
public class Student
{
public int id; // [*]
public String name;
public String age;
//... other things go here, such as constructors and methods ...
}
[*]您将id
成员定义为6个整数的数组。我假设你可能认为它是一个可以容纳6位数的整数值。
您可能还希望将age
成员定义为整数而不是两个字符的字符串。
请注意,在Java中,String
变量的最大长度不像空终止的C字符数组那样。
答案 3 :(得分:1)
绝对可以在Java中执行此操作。 Java是一种面向对象的编程语言,因此当您处理“事物”时,例如学生,很容易将它们实现为Java类。
以下是您可以执行此操作的众多方法之一:
public class Students{
private List<Student> students;
public Students(){
this.students = new ArrayList<>();
}
public void addStudent(Student newStudent){
students.add(newStudent);
}
public Student getStudents(){
return this.students;
}
public Student getStudent(int name){
for(Student s : students){
if(s.getName().equalsIgnoreCase(name)){
return student();
}
}
return null;
}
public class Student{
private int id;
private String name;
private int age;
public Student(){
}
public Student(int id, String name, int age){
this.id = id;
this.name = name;
this.age = age;
}
// Getters and Setters for the Students variables
}
}