如何在Java中实现C&C的结构?

时间:2016-10-07 17:13:44

标签: java struct

我有一些代码可以让我注册一个学生(ID,姓名,年龄等),现在我可以做但只接受一个用户,如果我注册一个新用户会覆盖,这就是我需要的现在,能够有一个以上的学生。

所以我在想,如果我使用C,我会使用结构,类似这样的

struct Students {
  int   ID[6];
  char  Name[35];
  char  Age[2];
} student;  

读了一下后,Java没有这个功能。

如何在Java中执行此操作?有可能吗?

由于

4 个答案:

答案 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
        }
    }