[英]How to get a string variable from another class
2類中有2個main
:
New_String
類用於從我的文件中讀取文本文件。 Write
類用於顯示從New_String
類讀取的值S1(=ar[1])
。 但是,無論我如何嘗試, Write
類僅顯示null
,否則將引發NullPointerException
錯誤。
由於該程序在下一步中具有進一步的功能,因此我不能僅將2類組合在一起。 請告訴我如何調整。
write
public class write
{
//public static String getar=get.ar[1];
//getar = get.ar[];
public static void main(String args[]) throws IOException
{
New_string file = new New_string();
//site.readline
System.out.println(file.S1);
//String S1 = ar[1];
}
}
New_string
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;
public class New_string
{
public static String S1;
public static int a=0;
public static String ar[];
public static int lnum=0;
public static String line=null;
public static void main(String args[]) throws IOException
{
FileReader fr= new FileReader("read_listflow.txt");
BufferedReader br=new BufferedReader(fr);
while ((line=br.readLine())!=null)
{
lnum=lnum+1;
}
FileReader fr1= new FileReader("read_listflow.txt");
BufferedReader br1=new BufferedReader(fr1);
ar=new String[lnum];
while ((line=br1.readLine())!=null)
{
ar[a]=line;
a=a+1;
}
S1 = ar[1];
}
}
實例化類時,不會自動調用main方法。 您需要顯式調用class方法來完成工作。
你必須做這樣的事..
public class NewString
{
public static String S1;
public static int a=0;
public static String ar[];
public static int lnum=0;
public static String line=null;
public String read() throws IOException
{
FileReader fr= new FileReader("read_listflow.txt");
BufferedReader br=new BufferedReader(fr);
while ((line=br.readLine())!=null)
{
lnum=lnum+1;
}
FileReader fr1= new FileReader("read_listflow.txt");
BufferedReader br1=new BufferedReader(fr1);
ar=new String[lnum];
while ((line=br1.readLine())!=null)
{
ar[a]=line;
a=a+1;
}
S1 = ar[1];
return S1;
}
}
接着
public class Write
{
public static void main(String args[]) throws IOException
{
New_string file = new New_string();
System.out.println(file.read());
}
}
另外,請遵循Java命名約定
最簡單的解決方案是在New_string類中添加一個讀取的方法,並在您的write類中調用該方法,我已經完成了更改
public class write
{
//public static String getar=get.ar[1];
//getar = get.ar[];
public static void main(String args[]) throws IOException
{
New_string file = new New_string();
file.read()
//site.readline
System.out.println(file.S1);
//String S1 = ar[1];
}
}
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;
public class New_string
{
public static String S1;
public static int a=0;
public static String ar[];
public static int lnum=0;
public static String line=null;
public read(String args[]) throws IOException
{
FileReader fr= new FileReader("read_listflow.txt");
BufferedReader br=new BufferedReader(fr);
while ((line=br.readLine())!=null)
{
lnum=lnum+1;
}
FileReader fr1= new FileReader("read_listflow.txt");
BufferedReader br1=new BufferedReader(fr1);
ar=new String[lnum];
while ((line=br1.readLine())!=null)
{
ar[a]=line;
a=a+1;
}
S1 = ar[1];
}
}
錯誤的代碼,但是下面的代碼會很臟:)
public class write
{
public static void main(String args[]) throws IOException {
New_string.main(mull);
System.out.println(New_string.S1);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.