Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何调用从文件读取数据的方法?_Java_Facebook - Fatal编程技术网

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)+"");
    }
}