我陷入了以下问题,
我有两个类,第一个是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方法中调用它。