我正在尝试使用扫描仪创建一个从数据文件(双重类型)获取输入并填充Arraylist(double)的方法。我在我的主课上创建了一个扫描仪。我不知道如何使这个工作正常,虽然我觉得我差不多了。
这是我的主要和公共课
SELECT (
SELECT COUNT(eventId) AS voteCount
FROM (
SELECT eventId
FROM Votes
WHERE arenaId = 'abc123'
AND active = 1
AND vote = 1
AND groupA = 1
GROUP BY userId, eventId
) AS t1
) AS aVotes1
这是我的方法
import java.util.Scanner;
import java.util.*;
public class Prog11{
public static void main(String [] args){
Scanner inFile = new Scanner(System.in);
readArr(inFile);
}
这是剩下的两个错误
public static double[] readArr(Scanner inFile){
ArrayList <Double> examList = new ArrayList<Double>();
while(inFile.hasNextDouble()){
input.add(inFile.nextDouble());
}
return examList;
}
答案 0 :(得分:0)
两个问题。一,你需要返回一个列表,而不是一个数组;第二,你的变量是inFile
而不是input
。
public static List<Double> readList(Scanner inFile){
List<Double> examList = new ArrayList<Double>();
while(inFile.hasNextDouble()){
inFile.add(inFile.nextDouble());
}
return examList;
}
如果您必须返回一个数组,请使用
public static double[] readList(Scanner inFile) {
List<Double> examList = new ArrayList<Double>();
while(inFile.hasNextDouble()){
inFile.add(inFile.nextDouble());
}
double[] arr = new double[examList.size()];
for (int i = 0; i < examList.size(); i++) {
arr[i] = examList.get(i);
}
return arr;
}
答案 1 :(得分:-1)
多数民众赞成是因为你没有回复预期的,如果你说你要去double[]
并且在方法中你返回arrayList<Double>
所以你需要决定你正在重新开始什么。
public static ArrayList <Double> readArr(Scanner inFile){
ArrayList <Double> examList = new ArrayList<Double>();
while(inFile.hasNextDouble()){
input.add(inFile.nextDouble());
}
return examList;
}