这是我的代码
package test.program;
/**
*
* @author Justin
*/
public class TestProgram
{
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
char ch;
ch = (char)System.in.read();
if(ch<'K')
System.out.println("This stuff is less than K " + ch);
else
System.out.println("Thats that stuff I don't like " + ch);
}
}
我忘了输入一些东西吗?它给我一个错误说
未报告的异常IOException,必须被捕获或声明被抛出
答案 0 :(得分:4)
System.in
是InputStream
和InputStream
's read
method throws an IOException
。
抛出:
IOException - 如果发生I / O错误。
它是一个已检查的异常,因此您必须捕获它或让调用它的方法声明它会抛出IOException
。
答案 1 :(得分:0)
此部分适用ch = (char)System.in.read();
。你的问题在别的地方
这是main
方法未声明抛出IOException
。
试试这个:
public static void main(String[] args) throws java.io.IOException {
答案 2 :(得分:0)
当您在Java中使用IO时,大多数情况下您必须处理IOException。在这种情况下,当您正在读取输入时,可能会发生这种情况。
试试这样:
public static void main(String[] args)
{
char ch;
try{
ch = (char)System.in.read();
}
catch(IOException e){
e.printStackTrace();
}
if(ch<'K')
System.out.println("This shit is less than K " + ch);
else
System.out.println("Thats that shit I don't like " + ch);
}
答案 3 :(得分:0)
http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html#read() - 从API,InputStream的read()方法抛出IOException,因此您需要捕获它或重新抛出它