gpt4 book ai didi

java - 如何读取我的两个数组?

转载 作者:行者123 更新时间:2023-12-02 08:05:56 24 4
gpt4 key购买 nike

我有两个数组,用于存储从文件中读取的两行的值。在我的 GUI 类中进行一些处理后,它应该在框架中间并排显示矩形。然而只有一个人出现。我已经尝试了一切我知道如何让另一个出现的方法,但没有骰子。这是我的代码:

public class PortraitFileReader 

public static ArrayList<Drawable> readFile(File a) {
File myFile;
ArrayList<Integer> values = new ArrayList<Integer>();
ArrayList<Drawable> couple = new ArrayList<Drawable>();
Man aMan;
Woman aWoman;
Point aPoint;
String input;
String [] array = null;
String [] array2 = null;
try {
myFile = a;
Scanner inFile = new Scanner(myFile);
input = inFile.nextLine();
array = input.split(", ");

while(inFile.hasNext()) {
input = inFile.nextLine();
array2 = input.split(", ");
System.out.println(Arrays.toString(array2));
}

if(array[0].equals("man")) {
for(int i=1; i<array.length-1; i++) {
int current = Integer.parseInt(array[i]);
values.add(current);
System.out.println(values);
}
aPoint = new Point(values.get(0), values.get(1));
aMan = new Man(aPoint, values.get(2), values.get(3), array[5]);
couple.add(aMan);
values.clear();


}

if(array[0].equals("woman")) {
for(int i=1; i<array.length-1; i++) {
int current = Integer.parseInt(array[i]);
values.add(current);
System.out.println(values);
}
aPoint = new Point(values.get(0), values.get(1));
aWoman = new Woman(aPoint, values.get(2), values.get(3), array[5]);
couple.add(aWoman);
values.clear();
}

if(array2[0].equals("man")) {
for(int i=1; i<array2.length-1; i++) {
int current = Integer.parseInt(array[i]);
values.add(current);
System.out.println(values);
}
aPoint = new Point(values.get(0), values.get(1));
aMan = new Man(aPoint, values.get(2), values.get(3), array2[5]);
couple.add(aMan);
values.clear();
}

if(array2[0].equals("woman")) {
for(int i=1; i<array2.length-1; i++) {
int current = Integer.parseInt(array[i]);
values.add(current);
System.out.println(values);
}
aPoint = new Point(values.get(0), values.get(1));
aWoman = new Woman(aPoint, values.get(2), values.get(3), array2[5]);
couple.add(aWoman);
values.clear();
}
}

catch (FileNotFoundException e) {
System.out.println("The file was not found.");
}
return couple;
}
}

这是我从文件中读取的数据:

man, 260, 100, 40, 80, Tom  
woman, 300, 100, 40, 80, Sally

任何帮助将不胜感激。

注意:system.out.println 只是用来测试每​​个数组是否具有正确的值。

最佳答案

当你通过 array2 检查是否是女性时,你实际上是在通过变量数组。

 for(int i=1; i<***array2***.length-1; i++) {
int current = Integer.parseInt(****array***[i]);

检查 array2 是否是男人时也是如此

这样做的效果是您将第一行的内容处理两次。

关于java - 如何读取我的两个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8170394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com