我坚持使用此代码,无论我在多大程度上工作,都无法通过它。我需要在方法中将文件中的值设置为数组,然后返回它。然后需要为temp设置这些值。我一直被告知我需要返回一个double [],但是当我尝试添加括号时,它告诉我不能从double转换为double []。我也可以在其他可能有问题的地方使用建议。请帮忙,我濒临撞墙! 此外,我删除了文件的位置,因为该位置有我的名字,所以我知道这不是一个合适的位置。
//Java Eclipse
import java.util.Scanner;
import java.io.*;
public class TempDriver {
public static void main(String[] args) {
double [] temp = new double[12];
Scanner file;
}
public static double[] readFile(double temp [], Scanner file){
int i = 0;
try {
file = new Scanner(new File(""));
while(file.hasNextDouble()) {
temp[i] = file.nextDouble();
i++;
}
file.close();
}
catch(FileNotFoundException e){
System.out.println ("File not found");
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println ("Array index too large");
}
return temp[i];
}
}
答案 0 :(得分:0)
嗯,这里有几件事情已经破了,但没有什么不能......哦等等, 是什么?......呃,没关系。
嘿,看,问题已被编辑。试。好吧,你的代码很乱,但至少它比原始版本要简单得多。在这里和那里有一些接触,它应该工作,所以不要担心。你快到了!
readFile()
中的main()
。Scanner file
中收到的readFile()
,而是在参数之上的方法中创建自己的temp
。使用您收到的内容或从参数列表中删除它。temp[i]
而不是//Java jEdit
import java.util.Scanner;
import java.io.*;
public class TempDriver {
public static void main(String[] args) {
//The array were you are going to put the data
double[] temp = new double[12];
//The Scanner you are going to read the numbers from
Scanner file = new Scanner(new File("myfile.dat"));
//Calling readFile()
temp = TempDriver.readFile(temp, file);
//Close the Scanner now that you are done using it
file.close();
//TODO: Display your fetched data here
}
public static double[] readFile(double[] temp, Scanner file){
int i = 0;
try {
//Read numbers
while (file.hasNextDouble()) {
temp[i] = file.nextDouble();
i++;
}
} catch(FileNotFoundException e){
System.out.println ("File not found");
} catch(ArrayIndexOutOfBoundsException e){
System.out.println ("Array index too large");
}
//Return the array
return temp;
}
}
。第一个是double数组,而后者是double。这里的代码包含上述修复程序:
{{1}}
希望这会对你有所帮助。