当前位置: 技术问答>java相关
一個 NullPointerException 問題, 並不難, 但是想不出來, 急
来源: 互联网 发布时间:2015-08-24
本文导语: import java.io.*; import java.util.*; public class TDIO { private BufferedReader inputReader; private int log; // log method : 0 = use default, 1 = use file private InputStreamReader ISR; private FileInputStream FIS; public v...
import java.io.*;
import java.util.*;
public class TDIO
{
private BufferedReader inputReader;
private int log; // log method : 0 = use default, 1 = use file
private InputStreamReader ISR;
private FileInputStream FIS;
public void TDIO() throws IOException
{
this.log = 0; // set log method
this.ISR = new InputStreamReader (System.in);
this.inputReader = new BufferedReader (this.ISR); // 這裡已經定義了阿
}
public String[] getInput(String delim) throws IOException
{
StringTokenizer st = null;
String line;
line = this.inputReader.readLine(); // 這行會出錯, 顯示 inputReader 是 NullPointer
if (line == null || line.indexOf("//")==0 || line.length() == 0)
return null;
...............
}
}
請知道的朋友給出解決方案
import java.util.*;
public class TDIO
{
private BufferedReader inputReader;
private int log; // log method : 0 = use default, 1 = use file
private InputStreamReader ISR;
private FileInputStream FIS;
public void TDIO() throws IOException
{
this.log = 0; // set log method
this.ISR = new InputStreamReader (System.in);
this.inputReader = new BufferedReader (this.ISR); // 這裡已經定義了阿
}
public String[] getInput(String delim) throws IOException
{
StringTokenizer st = null;
String line;
line = this.inputReader.readLine(); // 這行會出錯, 顯示 inputReader 是 NullPointer
if (line == null || line.indexOf("//")==0 || line.length() == 0)
return null;
...............
}
}
請知道的朋友給出解決方案
|
public void TDIO() throws IOException
{
this.log = 0; // set log method
this.ISR = new InputStreamReader (System.in);
this.inputReader = new BufferedReader (this.ISR); // 這裡已經定義了阿
}
这个东西能算是个构造器吗,充其量是个方法而已.构造器有void 这回事吗?
{
this.log = 0; // set log method
this.ISR = new InputStreamReader (System.in);
this.inputReader = new BufferedReader (this.ISR); // 這裡已經定義了阿
}
这个东西能算是个构造器吗,充其量是个方法而已.构造器有void 这回事吗?
|
public void TDIO() throws IOException
{
this.log = 0; // set log method
this.ISR = new InputStreamReader (System.in);
this.inputReader = new BufferedReader (this.ISR); // 這裡已經定義了阿
}
去掉 void ,就可以了。加了void 就不是构造器了
{
this.log = 0; // set log method
this.ISR = new InputStreamReader (System.in);
this.inputReader = new BufferedReader (this.ISR); // 這裡已經定義了阿
}
去掉 void ,就可以了。加了void 就不是构造器了
|
你在哪里用到了getInput(),在这之前有没有初始化TDIO??
|
String line;
初始化一下,试一下,在看看楼上说的。
初始化一下,试一下,在看看楼上说的。
|
不要在构造方法中初始化。可以在定义时初始化:
private InputStreamReader ISR= new InputStreamReader (System.in);
private BufferedReader inputReader= new BufferedReader (ISR);
或者在getInput()方法中定义:
this.ISR = new InputStreamReader (System.in);
this.inputReader = new BufferedReader (this.ISR);
private InputStreamReader ISR= new InputStreamReader (System.in);
private BufferedReader inputReader= new BufferedReader (ISR);
或者在getInput()方法中定义:
this.ISR = new InputStreamReader (System.in);
this.inputReader = new BufferedReader (this.ISR);
|
出错行前加一句话:
if(this.inputReader==null){
this.ISR = new InputStreamReader (System.in);
}
if(this.inputReader==null){
this.ISR = new InputStreamReader (System.in);
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。