如下简单java程序,从键盘读取一个字符,然后输出。
在Eclipse的console中却输去下面的错误
源代码:
public class HelloJava {
public static void main(String[] args) {
int b = System.in.read();
System.out.println("b="+b);
System.out.println("Hello Java");
}
}
console输出:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Unhandled exception type IOException
at HelloJava.main(HelloJava.java:4)
------解决思路----------------------
这段错误信息的大意是: 未报告的异常错误IOException,必须声明异常类型或者进行捕获啥的
用一个try-catch把可能出现运行时异常的代码包含起来
第一种方法: 捕获异常
import java.io.IOException; //别忘了导包
public class Hello {
public static void main(String[] args) {
int b = 0;
try {
b = System.in.read();
} catch(IOException e) {
e.printStackTrace();
}
System.out.println("b="+b);
System.out.println("Hello Java");
}
}
第二种方法: 声明这段代码可能抛出的异常类型
import java.io.IOException;
public class Hello {
public static void main(String[] args) throws IOException {
int b = System.in.read();
System.out.println("b="+b);
System.out.println("Hello Java");
}
}
------解决思路----------------------
控制台输入使用的流一般是Scanner,可以这么定义Scanner in = new Scanner(System.in)
------解决思路----------------------
对于可能出现的异常错误IOException,需要进行捕获,用一个try-catch把可能出现运行时异常的代码包含起来
------解决思路----------------------
需要使用try-catch语句捕捉可能出现的异常。
异常处理,以后你会学到。
------解决思路----------------------
你这样写就行了
import java.util.Scanner;
Scanner sc=new Scanner(System.in);
String s=sc.next();
system.out.println(s);
------解决思路----------------------
LZ你使用了IO,所以可能会引发IOException,所以报错提示意思是你没有捕获异常,加上try-catch就行了,或者在函数声明的时候把这个异常抛出去。
------解决思路----------------------
public static void main(String[] args) throws IOException {
int b = System.in.read();
System.out.println("b="+b);
System.out.println("Hello Java");
}
}
------解决思路----------------------
控制台输入使用的流一般是Scanner,可以这么定义Scanner in = new Scanner(System.in)才行
------解决思路----------------------
加上try-catch
------解决思路----------------------
谢谢前面的大神。