입력 파일을 읽고 표시하는 프로그램 클래스가 있습니다. 하지만 두 개의 배열에 포함 된 double을 넣으려고합니다. 그리고 나서이 배열의 최대 값과 최소값을 찾으려고합니다.파일에서 배열 읽기에 값 추가 java
하지만 내가 직면하고있는 문제는 파일의 마지막 두 줄을 저장한다는 것입니다. 배열의 다른 엔터 리는 0.0입니다.
여기 내 코드가 있습니다.
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
public class DataRow2 {
static double[] fatContentA;
static double[] protienContentA;
public static void starter() {
Scanner in=new Scanner(System.in);
int numOfClusters=in.nextInt();
int numOfElementsOfDataSet=in.nextInt();
int numOfVariables=in.nextInt();
System.out.printf("%d\t %d\t %d\t",numOfClusters,numOfElementsOfDataSet,numOfVariables);
String line=in.nextLine();
String ignore=in.nextLine();
StringTokenizer ignoreLine = new StringTokenizer(ignore);
while (ignoreLine.hasMoreTokens()) {
System.out.println(ignoreLine.nextToken());
}
System.out.println(ignoreLine);
int counter=1;
while(in.hasNext()){
String readLine=in.nextLine();
Scanner parseInformation=new Scanner(readLine);
String nameOfMammal=in.next();
double fatContent=in.nextDouble();
double protienContent=in.nextDouble();
fatContentA=new double[numOfElementsOfDataSet];
protienContentA=new double[numOfElementsOfDataSet];
fatContentA[counter]=fatContent;
protienContentA[counter]=protienContent;
System.out.printf("%s\t%f\t%f\t\n",nameOfMammal,fatContent,protienContent);
counter+=1;
}
Arrays.sort(fatContentA);
int length=fatContentA.length;
//System.out.println(fatContentA[length/2]);
double max_fat = fatContentA[length-1];
double min_fat = fatContentA[0];
Arrays.sort(protienContentA);
double max_Protien = protienContentA[protienContentA.length - 1];
double min_Protien = protienContentA[0];
System.out.println("The maximum fat in this file was"+max_fat);
System.out.println("The minimum fat in this file was"+min_fat);
System.out.println("The maximum Protien in this file was"+max_Protien);
System.out.println("The maximum Protien in this file was"+min_Protien);
}
}
그리고이 파일을 읽으려고합니다. 내가 파일의 마지막 두 배로 인쇄 밖으로이기 때문에 사실이 아니다
The maximum fat in this file was53.2
The minimum fat in this file was0.0
The maximum Protien in this file was11.2
The maximum Protien in this file was0.0
:
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
내가 얻을 출력은 읽고 된 모든 파일 데이터입니다. 배열은 마지막 두 개의 double을 배열의 마지막 위치에만 저장합니다. 내가 어디로 잘못 가고 있는지 이해하지 못한다.
배열에서 복식을 저장하고 최대 값과 최소값을 찾으려면 어떻게해야합니까? 도움을 위해 미리 감사 드리며 매우 감사하겠습니다. while 루프 전에
fatContentA=new double[numOfElementsOfDataSet];
protienContentA=new double[numOfElementsOfDataSet];
:
감사합니다 ..... 내 문제를 해결했습니다 ... – BlackSwan