java - 我正在尝试创建一种方法来计算两个数组中数字的平均值

标签 java arrays

import java.io.*;
import java.util.*;


public class Marks {
    public static void main(String[] args) {
    Marks r = new Marks();
    double[] finalArray = r.openFile();
    double[] finalArray2 = r.openFile2();


}
//ID's and first set of grades

private Scanner a;

public double[] openFile() {
    ArrayList<String> list1 = new ArrayList<String>(7);
    try {
        a = new Scanner(new File("IR101.txt"));
    } catch (Exception e) {
        System.out.println("could not find file");
    }
    while (a.hasNextLine()) {
        list1.add(a.nextLine());

    }

    String[] arrayOne = list1.toArray(new String[list1.size()]);
    Arrays.sort(arrayOne);
    //System.out.println(Arrays.toString(arrayOne));
    int size = arrayOne.length;
    double[] finalArray = new double[size];
    for (int j = 0; j < size; j++) {
        String word = arrayOne[j];
        String newWord = word.substring(6, 10);
        double grade = Double.parseDouble(newWord);
        finalArray[j] = grade;

    }return finalArray;



}
//ID's and second set of grades


private Scanner b;

public double[] openFile2() {
    ArrayList<String> list2 = new ArrayList<String>(7);
    try {
        b = new Scanner(new File("IR102.txt"));
    } catch (Exception e) {
        System.out.println("could not find file");
    }
    while (b.hasNextLine()) {
        list2.add(b.nextLine());
    }
    String[] arrayTwo = list2.toArray(new String[list2.size()]);
    Arrays.sort(arrayTwo);
    //System.out.println(Arrays.toString(arrayTwo));
    int size = arrayTwo.length;
    double[] finalArray2 = new double[size];
    for (int j = 0; j < size; j++) {
        String word = arrayTwo[j];
        String newWord = word.substring(6, 10);
        double grade2 = Double.parseDouble(newWord);
        finalArray2[j] = grade2;
    }return finalArray2;

}



// ID's and names

private Scanner c;

public void openFile3() {
    ArrayList<String> list3 = new ArrayList<String>(7);
    try {
        c = new Scanner(new File("IRStudents.txt"));
    } catch (Exception e) {
        System.out.println("could not find file");
    }
    while (c.hasNextLine()) {
        list3.add(c.nextLine());
    }
    String[] arrayThree = list3.toArray(new String[list3.size()]);
    Arrays.sort(arrayThree);
    //System.out.println(Arrays.toString(arrayThree));
    int size = arrayThree.length;

    String[] names = new String[size];
    for (int j = 0; j < size; j++) {
        names[j] = arrayThree[j].substring(6);
    }
    String[] IDs = new String[size];
    for (int x = 0; x < size; x++){
        IDs[x] = arrayThree[x].substring(0,5);
    }
    System.out.println(Arrays.toString(names));
    System.out.println(Arrays.toString(IDs));

}
public void calculateAvg() {


}

}

我正在尝试访问 FinalArray 和 FinalArray2 中的数字,但当我尝试调用这两个数组时,我不确定如何执行此操作,但它不起作用,我认为这与数组的范围有关。所以如何使整个程序可以访问这两个数组。

最佳答案

如果您想让整个程序可以访问这两个数组,请将它们声明为 main 方法外部的静态变量,并在内部进行初始化,如下所示:

    public class Marks {
        static double[] finalArray;
        static double[] finalArray2;
    public static void main(String[] args) {
        Marks r = new Marks();
        finalArray = r.openFile();
        finalArray2 = r.openFile2();

关于java - 我正在尝试创建一种方法来计算两个数组中数字的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29681011/

相关文章:

java - DateTimeFormatter 不能与 ofPattern 或 OFFSET 一起使用

javascript - 数组中每个元素的数字之和

arrays - 如何从 Scala 列表或数组中随机采样?

python - 当数据重复时如何用 pandas 或 numpy 数组检测下降?

javascript - 平面数组到深层嵌套对象数组

c - 编程在数组中查找具有给定数字的对

java - 使用Caliper时如何指定命令行?

java - 在SPRING服务器中使用JAVA NIO框架

java - 在哪里可以找到 Java JMF 教程

java - jar 文件位置 - Ear 文件还是服务器 lib 文件夹?