我陷入了以下问题,

我有两个类,第一个是readFromFile,第二个是newClass

readFromFile.java-


这读取一个文本文件
将文本行解析为单独的字符串
这些字符串的值存储在名为dArray的String []中
为了进行测试,我已经打印了所有值,并且可以正常工作


newClass.java


此类旨在将字符串[] dArray的值复制到新字符串中,并从那里使用这些值(为简单起见,我在newClass中包含的所有内容都是与复制数组有关的代码)
我做错的是我要返回dArray但返回的数组中没有存储任何内容,因此我要么需要一种方法来从readFromFile.class调用main方法,要么需要在readFromFile中创建一个可以完成相同操作的方法我从主打来的


请帮忙

 import java.util.Scanner;
import java.io.*;

public class readFromFile
{
static String[] dArray = new String [30];

   public static void main (String[] args) throws IOException
   {
      String part;
      Scanner fileScan, partScan;
      int i = 0;
      int x = 0;

     fileScan = new Scanner (new File("C:\\stuff.txt"));

     // Read and process each line of the file
      while (fileScan.hasNext())
      {
         part = fileScan.nextLine();

         partScan = new Scanner (part);
         partScan.useDelimiter(":");

         while ( partScan.hasNext()){
         dArray[i] = partScan.next();
         i++;
         }
      }
        for (x = 0;x<i;x++)
       { System.out.println(dArray[x]);
   }


   }
        public String[] getArray()
  {
  return dArray;
           }}


newClass.java

public class newClass {

  readFromFile results = new readFromFile();// creating object from class readFromFile


 public void copyArray() {

       String[] dArray = results.getArray();  // Trying to return the values of String [] dArray from rr classs
                         //Method getArray in rr class is
                         //  public String[] getArray()
                         // { return dArray; }

        String[] arrayCopy = new String[dArray.length];

        System.arraycopy(dArray, 0, arrayCopy, 0, dArray.length);

        for (int i = 0; i < arrayCopy.length; i++)
            System.out.println(arrayCopy[i]);

    }


    public static void main(String[] args) {
       newClass.copyArray();
    }
}

最佳答案

结果生成在readFromFile.main()中,但是您希望在readFromFile()中调用它。您需要为readFromFile创建一个构造函数,并在您的main方法中调用它。

10-06 16:21