我要做的是制作一些可以用来计划一年中工作量的东西。我正在编写一个程序,我手动输入我的班级名称,页面数量和班级难度。
我正在处理一个类,其中我放入了我之前命名的所有数据以及另一个负责计算工作的类。
包含大学课程信息的Java类:
public classInfo(String className, int classAmount, int classDifficulty, int classTime)
{
name = className; // name of the class
amount = classAmount; // amount of pages
difficulty = classDifficulty; // difficulty (1 = easy >> 3 = hard)
time = classTime; // time you have (1 or 2 semesters)
}
/**
* Prints all the data you have put in about this class
*/
public void printInfo()
{
System.out.println("Vak: " + name);
System.out.println("Hoeveelheid leerstof: " + amount + " pagina's");
System.out.println("Moeilijkheidsgraad: " + difficulty);
System.out.println("Dit vak duurt: " + time + " semester(s)");
}
public String toString()
{
return naam;
}
}
我测试了这些方法,它们都像我期望的那样工作。最后一个方法(toString())是我创建的一个方法,这样我就可以打印我在第二个类的ArrayList中保存的所有类的列表。那个应该做计算的人。
以下是我的第二课的概述:(应该进行计算的那个)
import java.util.ArrayList;
public class Planner
{
private ArrayList<ClassInfo> course;
private int index;
/**
* constructor
*/
public Planner()
{
course = new ArrayList<ClassInfo>();
}
/**
* This method is used to add classes to the ArrayList
*/
public void addClass(ClassInfo aCourse)
{
course.add(aCourse);
}
/**
* With this method you can print all the names of the classes that are currently in the ArrayList
*/
public void showClass()
{
for(index = 0; index < course.size(); index++)
{
System.out.println(course.get(index));
}
}
/**
* This method is used to calculate the workload of the classes.
*/
public void berekenKlas()
{
/////// HERE IS MY PROBLEM. /////
}
}
我想知道如何告诉Java我在ArrayList中保存的不同整数之间的区别。
我想要做的是遍历所有类(比如我遍历类名称的方法),并将“页数”和“时间”的数据保存到2个不同的变量中。
我目前所坚持的是我不知道该怎么做。有想法的人吗?
提前谢谢。
答案 0 :(得分:0)
首先,您可以为循环使用foreach构造:
public void showClass() {
for(ClassInfo courseItem: course) {
System.out.println(course);
}
}
但我不明白你的问题。您已经在使用字段来分隔ArrayList的ClassInfo类型中的不同整数。
要保存这两个值,您可以创建另一个类,具体取决于您对这些值的处理方式。
答案 1 :(得分:0)
在您的ArrayList中,您有ClassInfo对象实例,而不是整数。 每个ClassInfo实例都包含名称,数量,难度,时间属性。
您可以使用以下方式访问属性。运营商。例如:
public void showClass() {
for (ClassInfo classInfo:course) {
System.out.println("Name of class:"+classInfo.name);
System.out.println("Time needed:"+classInfo.time+" semesters");
// and so on
}
}
注意使用for-each循环(它就像10年以上的Java构造,请咨询您的导师或互联网)。我发现考虑使用标准缩进并遵守Java编码标准将使生活更轻松:)