我正在网上看有关数组的课程。它教会了我的基础知识'数组列表:如何创建数组列表。所以我想知道,如何从用户创建一个数组列表'输入(JOptionPane
),从中提取数字,将它们相加并除以数组列表中的总数量(长话短说,计算数组的平均值)?
这是我的,有点方法:
import java.util.Arrays;
import javax.swing.JOptionPane;
public class JOptionPaneTesting {
public static void main(String[] args){
int grades = Integer.parseInt(JOptionPane.showInputDialog("What are your grades of this month?"));
int arrayList[] = {Integer.valueOf(grades)};
int arraysum;
arraysum = arrayListGetFirstIndex + arrayListGetSecondIndex + ...; //Extracts all of the indices and adds them up?
int calculation;
calculation = arraysum / arrayListAmmountOfNumbersInTheList; //An example of how it go about working
}
}
答案 0 :(得分:1)
据我所知,您正试图从用户那里获得输入。输入是成绩。然后你想要加上成绩并计算成绩的平均值。
public static double calculateAvg(List<Double>inputGrades){
List<Double> grades = new ArrayList<Double>(inputGrades);
double totalScore = 0.0;
double avgScore = 0.0;
if(grades !=null && grades.size()>0){
for(Double grade : grades){
totalScore = totalScore + grade;
}
avgScore = totalScore / grades.size();
}
return avgScore;
}
接受用户输入并将其添加到列表中
List<Double> gradesList= new ArrayList<Double>();
gradesList.add(25.5);
gradesList.add(29.5);
gradesList.add(30.5);
gradesList.add(35.5);
System.out.println(calculateAvg(gradesList));
答案 1 :(得分:1)
这也是一个合适的解决方案:
String[] input = JOptionPane.showInputDialog("What are your grades of this month?").split(" ");
double[] grades = new double[input.length];
double average = 0.0;
for (int i = 0; i < input.length; i++) {
// Note that this is assuming valid input
grades[i] = Double.parseDouble(input[i]);
average+=grades[i];
}
average /= grades.length;
因此,您可以输入由空格分隔的多个“等级”。
答案 2 :(得分:0)
首先创建一个列表
List<Integer> list = new ArrayList<Integer>();`
然后list.add(grade);
如果你想要添加多个等级,你需要迭代整个上面的行。
然后list.get(index)
为您提供特定(指数)成绩。
计算arraySum使用:
for(int i = 0; i < list.size() ; i++)
arraysum += list.get(i); // and others are same.
我希望这可以帮到你!