我正在为uni做一个任务,为此我必须创建一个类文件(ProcessMarks.class),它将从125个整数数组中计算出最大值,最小值,范围,模式,中位数等。由我们的讲师在一个名为Marks.class的类中提供给我们,它生成一个介于0和100之间的125个'标记'的数组。
到目前为止,我在这个任务中遇到了多个方面,但是我目前遇到的主要问题(我肯定可能是基本的东西,但我似乎仍然无法让它工作),是我正在尝试获取我创建的ProcessMarks.class以导入并使用Marks.class文件中创建的标记,然后保存结果(marks.class)以在用户想要计算Min时使用, Max,Mean等。
我不能让eclipse允许我导入我的ProcessMarks.class使用的类;我只是不断得到一个无法解决的错误。
我是否需要将Marks.java或Marks.class放在特定文件夹中?
我应该只运行Marks.class,然后手动复制,粘贴和初始化结果吗?
有什么明显的我遗漏或者可能是一些基本的java基础知识我不能正确理解吗?
此外,我不是在寻找任何人为我做这项工作,我只需要指出正确的方向。
import java.util.Random;
/**
* A class that provides a random array of marks,
* approximately normally distributed.
* @author Ken Lodge
*/
public class Marks {
private static final int NMARKS = 125;
private static final double mean = 65.0;
private static final double std = 15.0;
/**
* Returns an array of NMARKS integer marks approximately normally distributed,
* with specified mean (mean) and standard deviation (std),
* and with values outside 0..100 removed.
* @return the array of marks.
*/
public static int[] getMarks() {
Random rand = new Random(1001L);
int mark;
int[] theMarks = new int[NMARKS];
int n = 0;
while (n < NMARKS) {
mark = (int) Math.round(std*rand.nextGaussian() + mean);
if (mark >= 0 && mark <= 100)
theMarks[n++] = mark;
}
return theMarks;
}
/**
* Test code
* @param args not used
*/
public static void main(String[] args) {
int[] testMarks = getMarks();
for (int n = 0; n < testMarks.length; n++) {
System.out.print(testMarks[n] + " ");
if (n % 10 == 9)
System.out.println();
}
}
}
答案 0 :(得分:0)
这应该让你开始,把它放在你的ProcessMarks.java中:
public class ProcessMarks(){
public static void main(String[] args) {
int[] marksArray = Marks.getMarks();
//Do something with the marksArray
}
}
您的老师已使用静态变量创建了类,这意味着我们无需使用标准new Marks();
格式对其进行初始化。我们可以只调用Marks.getMarks();
来获取数据。这将返回由教授的代码生成的125个整数。
确保此ProcessMarks.java和Marks.java位于同一文件夹中。我建议使用IDE来帮助你完成工作,常见的是Eclipse。
祝你好运![编辑] 另请阅读here以了解类文件和java文件之间的区别,您似乎有点困惑是什么区别