我想要創建一個程序,它具有一個讀取輸入文件的主類,並調用其他類來存儲雙精度文件包含的數據。另一個類是我調用把兩個數組放在一起,但我沒有成功。任何幫助將不勝感激。 這是主類:從另一個文件中讀取數組的同時創建雙精度數組
package Assignments;
import java.util.Scanner;
import ui.UIAuxiliaryMethods;
public class Processing {
Processing(){
UIAuxiliaryMethods.askUserForInput();
}
private void start() {
Scanner in=new Scanner(System.in);
int numberOfClusters=in.nextInt();
int numberOfElements=in.nextInt();
int numberOfVariables=in.nextInt();
String line=in.nextLine();
String lineToIgnore=in.nextLine();
NumberRow i=new NumberRow(numberOfElements);
while(in.hasNext()){
String lineToFindDouble=in.next();
NumberRow.start(lineToFindDouble);
}
System.out.println("\nend");
}
public static void main(String[] args){
new Processing().start();
}
}
和我打電話來存儲雙打類: 包分配;
import java.util.Arrays;
import java.util.Scanner;
import ui.UIAuxiliaryMethods;
public class NumberRow {
static int i;
static double[] fatContent;
static double[] protienContent;
NumberRow(int numberOfElements){
this.i=numberOfElements;
fatContent=new double[i];
protienContent=new double[i];
}
static void start(String in){
Scanner findingDoubles=new Scanner(in);
int counter=0;
while(findingDoubles.hasNext()){
double fat=findingDoubles.nextDouble();
double protien=findingDoubles.nextDouble();
fatContent[counter]=fat;
protienContent[counter]=protien;
counter++;
}
System.out.println(Arrays.toString(fatContent));
}
}
我使用的輸入文件是:
7
25
2
Mammal fat_content(%) protein_content(%)
Bison 7.9 5.9
Guinea_pig 3.9 8.1
Dolphin 14.0 10.4
Donkey 1.4 1.7
Goat 4.1 3.4
Deer 19.7 9.2
Dog 8.3 9.5
Yak 6.7 5.3
Camel 3.4 3.5
Cat 10.9 11.1
Rabbit 13.1 7.1
Llama 3.2 3.9
Human 43.9 7.4
Mule 1.8 2.0
Elephant 5.0 4.0
Horse 1.3 2.1
Rat 12.6 12.3
Reindeer 20.3 10.4
Sheep 6.4 5.6
Pig 5.1 6.6
Fox 5.9 7.4
Whale 42.3 10.9
Polar_bear 31.0 10.2
Zebra 4.8 3.0
Seal 53.2 11.2
我得到的錯誤是:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextDouble(Scanner.java:2387)
at Assignments.NumberRow.start(NumberRow.java:25)
at Assignments.Processing.start(Processing.java:25)
at Assignments.Processing.main(Processing.java:33)
任何幫助將高度讚賞。 PS:我是初學者,所以如果我的代碼看起來很愚蠢,我很抱歉。
謝謝。
如果在下面的所有答案後你無法自己弄清楚。如果需要的話,我準備幫助我甚至可以幫助你逐行寫代碼:)。 – Roan
@羅安非常感謝你的這麼好....我已經想通了,但我非常感謝你的報價,以幫助.....謝謝:) – BlackSwan
沒問題,也看到你想通了,祝你好運其餘的你的代碼:) – Roan