当前位置: 首页 > 知识库问答 >
问题:

关于模块评估的问题:学生数据库

南宫星波
2023-03-14

这是任务:

*创建存储学生记录的学生数据库程序,包括:

学生证

全名

年龄

课程

注册年份

>

  • 系统将询问用户是输入新的学生记录还是搜索学生记录。

    如果他们要搜索学生,请向他们索要学生证。如果找到学生 ID,则输出学生的详细信息,如果没有,则输出找不到。

    如果他们将输入新的学生记录,则允许用户输入学生的新详细信息。

    程序还必须保持循环,直到用户输入“退出”*

    现在,这是一个评估,检查我们对模块中涵盖的主题的知识,即:

    • 阵 列
    • 对象数组
    • 针对循环进行了增强
    • 多维数组
    • 数组列表
    • 哈希集
    • 哈希图

    现在我的问题是第二个。如果我理解正确的话,这个任务告诉我将学生ID、全名、年龄、性别和课程存储到某个东西(?),这样我就可以输出了。我试着谷歌了一下,但是我找到的都是方法和对象/OOP,类等等。我们还没有真正涉及到。

    由于这是一个模块评估,我假设我不需要它们来完成任务。我在这里真的很迷茫,所以一点帮助可以为我指出正确的方向,这将是非常好的。

    注意:在我们的模块中编写的对象数组实际上只是编写如何创建一个,而不是其他内容。

  • 共有1个答案

    晏鸿畅
    2023-03-14

    我怀疑你是否真的必须保存数据,因为你说还没有涵盖课程。

    在不使用类的情况下保存数据是可能的,但是很难做到。相反,你可以只对数据进行硬编码(但一定要问你的老师是否允许你对数据进行硬编码),以展示你理解了你提到的主题。

    我可以想出多种方法对数据进行硬编码,例如使用ArrayList of maps:

    ArrayList<Map<String, Object>> students = new ArrayList<>();
    
    // Adding a student to the ArrayList
    students.add(
            Map.of(
            "studentId", 12345,
            "fullName", "John Doe",
            "age", 21
            // etc
            )
    );
    
    Integer lookUpId = 12345;
    
    // Checking if a student with id exists
    for (Map<String, Object> student: students) {
        if (Objects.equals(student.get("studentId"), lookUpId)) {
            // Student with id found
        }
    }
    

    对学生进行硬编码的另一种方式是在数组的ArrayList中,其中每个数组都包含学生的信息:

    ArrayList<Object[]> students = new ArrayList<>();
    
    // Adding a student to the ArrayList
    students.add(
      new Object[] {
              12345, // Student ID
              "John Doe", // Full name
              21 // Age
              //etc
      }
    );
    
    Integer lookUpId = 12345;
    
    // Checking if a student with id exists
    for (Object[] student: students) {
        // first element of the array is the student ID
        if (student[0].equals(lookUpId)) {
            // Student with id found
        }
    }
    

    很可能有更多的方法来硬编码数据,随时尝试不同的方法,看看什么最适合你。

     类似资料:
    • 问题内容: 我有桌子: 而且我需要实现“用户评论”功能(例如Facebook)。我应该以1:n关系制作table:等等吗?还是为所有人创建一张桌子(但我不知道该如何设计)? 问题答案: 您可以创建另一个表(尽管称其更好)。表中的每一行(,等等)都将引用此表中的唯一行。实体表可能具有指示实体类型的字段(以帮助反向连接)。 然后,您可以有一个以通用方式引用的表。 因此,例如,您将得到下表: 您可以在每

    • 问题内容: 什么是实现将采用字符串并根据运算符优先级输出结果的python程序的最佳方法(例如:“ 4 + 3 * 5”将输出19)。我在谷歌上寻找解决这个问题的方法,但是它们都太复杂了,我正在寻找一个(相对)简单的方法。 澄清:我需要比eval()稍微先进的东西-我希望能够添加其他运算符(例如,最大运算符-4 $ 2 = 4),或者,我对此在学术上比对专业更感兴趣-我想知道 该怎么 做。 问题答

    • Hubble的计算指标分为活跃性的人均次数指标,提高转化的转化率值指标,效果类的总值型指标。本节将会以效果类的总值型指标作为主要依据,来对实验数据进行解读。 1.1. 关于A/B测试你需要知道的几个概念: 关于A/B测试的科学性 A/B测试本质上是小流量测试,最早应用于药品的测试。自从2000年谷歌工程师开始运用到互联网行业,AB测试已经成为最流行的增长利器。 A/B测试数据的效果评估依赖于统计上

    • 模型在训练集上的误差通常称为 “训练误差” 或 “经验误差”,而在新样本上的误差称为 “泛化误差”。显然,机器学习的目的是得到泛化误差小的学习器。然而,在实际应用中,新样本是未知的,所以只能使训练误差尽量小。 当模型在训练集上表现很好而在新样本上误差很大时,称为 “过拟合”;反之,模型在训练集上误差就很大时,称为 “欠拟合”。 欠拟合通常容易解决,如 增加数据、增大训练次数、增大学习率或使用更复杂

    • 我已经用Flutter在VS代码上创建了一个应用程序,在我开始准备构建应用程序之前,没有任何问题。我开始将包名从“com.example.careona19”更改为“com.covid19rsa.app”,但随后开始出现以下错误:

    • 在使用gradle--stacktrace之后,我得到以下错误: 运行gradle后--信息 你知道这个问题怎么解决吗?