gpt4 book ai didi

java - 了解 ArrayList 以及它们如何用于 TUI

转载 作者:太空宇宙 更新时间:2023-11-04 15:10:29 25 4
gpt4 key购买 nike

事先:这是一项家庭作业,所以我需要带有解释的答案。我是一年级学生,我的老师在教学时非常含糊,所以我需要一些帮助来理解如何在他的说明中使用 ArrayList。

**我只需要帮助了解这一切是如何运作的。我正在编写代码,但我不知道它是如何工作的。

文本用户界面应该在另一个我还没有完成的类中编写。**

我的指示是:<​​/p>

成绩经理类别

首先开发一个类来描述 GradeManager。由于本练习更多的是关于编写交互式应用程序,因此我们将保持此类的简单性。我们的 GradeManager 将只跟踪分数的 ArrayList 并定义以下方法:

  • 单个构造函数,不接受任何参数,但设置 ArrayList,使其能够保持一些分数
  • 名为 addScore 的方法,它将接受分数并将其添加到 ArrayList
  • 名为 getAverage 的方法,它将返回 ArrayList 中所有分数的平均值

GradeTUI 类(class)此类将跟踪 GradeManager 对象作为实例变量。您需要写一个接受将要使用的 GradeManager 对象的构造函数。该类还将包含一个名为 run 的方法。此方法将使用户能够执行以下任一操作:(1)输入要存储的分数(在 GradeManager 对象中)或 (2) 显示输入的所有分数的平均值迄今为止。允许用户通过选择这些选项之一来继续此程序,直到完成。驾驶员等级一旦您对这些类的定义和正常工作感到满意,就可以开发一个驱动程序类包含一个将创建 GradeManager 实例的主方法,将此对象传递给GradeTUI 构造函数,然后使用 GradeTUI 对象调用 run。

这是我写的:

public class GradeManager {
private ArrayList<Integer> gradeList;


public GradeManager() {
ArrayList<Integer> gradeList = new ArrayList<Integer>();
this.gradeList = gradeList;
}


public void addScore(int score) {
this.gradeList.add(score);
}


public double getAverage(ArrayList<Integer> gradeList) {
Integer aScore = 0;
if (!gradeList.isEmpty()) {
for (Integer grade : gradeList) {
aScore += grade;
}
return aScore.doubleValue() / gradeList.size();
}
return aScore;

}

}

最佳答案

首先:我认为 getAverage 方法应该使用内部 ArrayList 而不是参数。否则您没有对该列表内容的任何读取权限。

您可以通过以下方式使用 GradeManager:

GradeManager manager = new GradeManager();

while(condition) {
int score = readScoreFromInput();
manager.addScore(score);
}

double averageScore = manager.getAverage();
print(averageScore);

这样你就得到了刚刚输入的所有分数的平均值。循环的具体实现(以及退出条件)由您决定 - 它可以是预定义的迭代次数或特殊输入,例如 -1

关于java - 了解 ArrayList 以及它们如何用于 TUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389223/

25 4 0
文章推荐: html - 删除文件扩展名谷歌应用引擎
文章推荐: C++文件I/O问题
文章推荐: CSS继承问题
文章推荐: C++属性类结构
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com