我的代码如下:
import java.util.*;
import java.io.*;
public class Buffer
{
public static void main(String args[]) throws Exception
{
int T;
Scanner sc = new Scanner(System.in);
T = sc.nextInt();
while(T > 0)
{
InputStreamReader r = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(r);
String no = "";
no = br.readLine();
char ch = no.charAt(0);
if (ch == '0')
{
System.out.println("YES");
}
else
{
System.out.println("NO");
}
T--;
}
}
}
请帮我处理我的代码,到底出了什么问题?
我收到了输出:
Run Time Error Exception in thread "main"<br>
Buffer.main中的java.lang.NullPointerException
答案 0 :(得分:0)
我认为问题在于您同时使用了两个阅读器(Scanner和BufferedReader),实际上它超过了您使用的两个:每次进入循环时,您实例化一个尝试读取的BufferedReader System.in。
您是否正在尝试竞争性编程问题?如果是这样,我建议您坚持使用BufferedReader:
import java.util.*;
import java.io.*;
public class Buffer {
public static void main(String args[])throws Exception {
int T;
InputStreamReader r = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(r);
T = Integer.parseInt(br.readLine());
while(T>0)
{
String no=br.readLine();
char ch=no.charAt(0);
if(ch=='0')
{
System.out.println("YES");
}
else
{
System.out.println("NO");
}
T--;
}
}
}