简单的java家庭作业帮助,需要gui帮助吗
我必须创建一个名为testscores的类 编写一个名为TestScores的类。类构造函数应该接受测试分数数组作为它的参数。类应该有一个返回测试分数平均值的方法。如果数组中的任何测试分数为负值或大于100,则该类应抛出IllegalArgumentExecution。在程序中演示该课程 这是我的节目简单的java家庭作业帮助,需要gui帮助吗,java,arrays,swing,arraylist,Java,Arrays,Swing,Arraylist,我必须创建一个名为testscores的类 编写一个名为TestScores的类。类构造函数应该接受测试分数数组作为它的参数。类应该有一个返回测试分数平均值的方法。如果数组中的任何测试分数为负值或大于100,则该类应抛出IllegalArgumentExecution。在程序中演示该课程 这是我的节目 .lang.IllegalArgumentException; /** * class TestScores * @author george beazer * */ public c
.lang.IllegalArgumentException;
/**
* class TestScores
* @author george beazer
*
*/
public class TestScores {
double[] scoresArray;
double average;
/**
* Constructor
* @param double[] scores
*/
public TestScores(double[] scores) {
this.scoresArray = new double[scores.length];
try {
for(int i = 0; i < scores.length ; i++) {
this.scoresArray[i] = scores[i];
if((this.scoresArray[i] < 0) || (this.scoresArray[i] > 100 ))
throw new IllegalArgumentException(Double.toString(this.scoresArray[i]));
}
this.calcAverage();
}
catch(IllegalArgumentException e) {
System.out.println("The Array contains Illegal values! " +
e.getMessage() + " is Less than 0 or Greater than 100.");
}
}
/**
* private method to calculate the average of the array
*/
void calcAverage() {
int count = 0;
double sum = 0;
for(int i = 0; i < this.scoresArray.length; i++) {
sum = sum + this.scoresArray[i];
count++;
}
this.average = sum / count;
}
/**
* accessor method for average
* @return double average;
*/
public double getAverage() {
return this.average;
}
}
如果GUI是您任务的次要部分,并且您只是想给每个人留下深刻印象,我建议使用GUI编辑器来制作您的UI:
在我编写swing应用程序的时候,我会使用GUI编辑器。当然,代码比定制的要详细一点,但可以节省时间。如果您想保存对一组jbutton的引用,但不知道在编译时需要多少jbutton,可以使用ArrayList之类的jbutton集合。您可以将按钮添加到使用GridLayout的JPanel中,并将其放置在JScrollPane中,如果您想显示一组按钮 或者,我认为最好是,一个JTable可能比一堆JButton更干净。通过这种方式,您可以拥有一个甚至可以容纳100行的网格,然后用户可以根据需要在任意多行或任意少行中填充数据。要了解如何编写Swing JTable,请查看以下教程:
关于使用GUI构建器,我建议不要这样做。一方面,它可能会阻碍您学习Swing的能力,另一方面,您可能会在最终的GUI设计中失去一些灵活性。此外,对于复杂的GUI,它们有时比手工制作的Swing代码更难使用。必须单击按钮来选择测试分数似乎是一个奇怪的UI。相反,使用JSpinner或JComboBox允许用户选择分数。缩进代码4个空格或使用post editor中的{}按钮。我帮你们修好了。你们不明白我想允许用户输入他想要的任意多或少的测试分数。从三分到五分到十分。我应该怎么做GUI中的哪种类型的代码允许这样做???在输入代码之前,您必须对GUI进行总体设计,并且已经提到了一些JButton听起来不太适合这种情况。GUI编辑器生成的代码有利于原型设计,但不利于学习如何创建GUI。在我看来,将学生指向GUI编辑器是个坏主意。我有点同意,但另一方面,当我学习swing时,我发现生成代码非常有用,这样我就可以了解它是如何完成的,也许下次我需要使用gridbaglayout时,请记住,这种方法的问题是,通常拖放GUI代码生成器生成的代码非常糟糕,至少NetBeans Matisse生成器就是这样,而不是我建议有人学习的代码。
JButton test-scores1 = new JButton ("Button1");
JButton test-scores1 = new JButton ("Button2");
JButton test-scores1 = new JButton ("Button3");