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中的數字,但我不知道如何做到這一點,當我嘗試調用兩個數組不工作我認爲這是與數組的範圍有關。那麼如何使整個程序可以訪問這兩個數組。我想創建一個方法,計算兩個數組中的數字的平均值
'它沒有work'並不像它告訴我們幾乎一無所知的說明問題的好辦法實際問題在眼前。請儘可能具體,並添加儘可能多的細節,以便描述錯誤是什麼。 – tnw
看起來你在添加這個問題之前還沒有做過多的研究。但你對範圍是正確的。目前設置它的方式不會工作,除非你將數組傳遞給函數。您需要決定是否要傳遞和返回,或者只是將範圍更改爲靜態。 – happyHelper
你在哪裏試圖訪問它,爲什麼?你能提供一個你正在嘗試實現的例子嗎?謝謝 – TejjD