Java 如何调用从文件读取数据的方法?
问题是Java 如何调用从文件读取数据的方法?,java,facebook,Java,Facebook,问题是 编写一个方法>代码> RealStand(String []SAR,双[[PAR,INT][QAR) ]从一个名为“Stur.txt”的文件中读取以下细节。 所以我创建了一个包含 pillow 14.50 30 Sheet 43 40 Quilt 52.50 40 Set 100 200 我用这种方法 public static void readStock(String[] sAr, double[] pAr, i
编写一个方法>代码> RealStand(String []SAR,双[[PAR,INT][QAR) ]从一个名为“Stur.txt”的文件中读取以下细节。
所以我创建了一个包含pillow 14.50 30
Sheet 43 40
Quilt 52.50 40
Set 100 200
我用这种方法
public static void readStock(String[] sAr, double[] pAr, int[] qAr) throws FileNotFoundException
{
Scanner input = new Scanner(new FileReader("stock.txt")) ;
int i = 0;
while (input.hasNext())
{
sAr[i]= input.next();
pAr[i] = input.nextDouble();
qAr[i] =input.nextInt();
i++;
}
input.close();
System.out.print("ITEM"+" "+"Price"+" "+"Quantity");
for (i=0;i<qAr.length;i++)
{
System.out.println(sAr[i]+" "+pAr[i]+" "+qAr[i]+"");
}
}
但是有一个错误。在方法签名中需要3个参数,3个数组,因此需要将它们传递给方法。您可以这样做:
readStock(新字符串[4]、新双精度[4]、新整数[4])代码>但是,使用这种设计,您需要知道文件包含多少行(因为您需要创建具有适当大小的数组)。要使其适用于任何文件长度,只需将数组替换为列表:
public static void readStock(列表名称、列表价格、列表数量)引发FileNotFoundException
{
扫描仪输入=新扫描仪(新文件阅读器(“stock.txt”);
while(input.hasNext())
{
name.add(input.next());
add(input.nextDouble());
quantity.add(input.nextInt());
}
input.close();
系统输出打印(“项目”+“价格”+“数量”);
对于(int i=0;i),您应该传递3个对应的参数,在它们的情况下,它们是“代码> String []SAR,双[[PAR,INT]]QAR。因此,您应该做一些类似于<代码> RealSt砧(SAR,PAR,QAR)的事情。;
从方法签名中取出所有参数,并在方法中声明它们。您需要事先知道数组的大小,或者改用ArrayList。
public static void main(String[] args)
{
readStock();
}
}
public static void readStock(List<String> names, List<Double> prices, List<Integer> quantity) throws FileNotFoundException
{
Scanner input = new Scanner(new FileReader("stock.txt")) ;
while (input.hasNext())
{
names.add(input.next());
prices.add(input.nextDouble());
quantity.add(input.nextInt());
}
input.close();
System.out.print("ITEM"+" "+"Price"+" "+"Quantity");
for (int i=0; i<names.size(); i++)
{
System.out.println(names.get(i)+" "+prices.get(i)+" "+quantity.get(i)+"");
}
}