设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
Java错误找不到符号问题,好心人帮帮忙!在此谢过 ...
返回列表
发新帖
Java错误找不到符号问题,好心人帮帮忙!在此谢过
[复制链接]
11
|
3
|
2010-11-1 20:28:23
|
显示全部楼层
|
阅读模式
源代码:
/*Node.java*/
import java.io.File;
import java.util.Scanner;
import java.io.FileInputStream;
import java.io.IOException;
public class Node{
public static void main(String args[]){
File file = new File("D:\\t.txt");
try{
Scanner scanner = new Scanner(new FileInputStream(file),"gbk");
while(scanner.hasNextLine()){
System.out.println(scanner.nextLine());
}
scanner.close();
}catch(IOException e){
scanner.close();
System.out.println("exception");
}
}
}
编译后出现如下错误:
E:\>javac Node.java
Node.java:17: 找不到符号
符号: 变量 scanner
位置: 类 Node
scanner.close();
^
1 错误
回复
使用道具
举报
千问
|
2010-11-1 20:28:23
|
显示全部楼层
你的scanner定义在{}内,你后面去引用,超过了其作用域修改如下:public class Node{ public static void main(String args[]){
File file = new File("D:\\t.txt");
Scanner scanner = null;
try{
scanner = new Scanner(new FileInputStream(file),"gbk");
while(scanner.hasNextLine()){
System.out.println(scanner.next
回复
使用道具
举报
千问
|
2010-11-1 20:28:23
|
显示全部楼层
LZ,你在try声明的作用域catch那边已经超出了,是得不到的,还有,LZ关闭scanner不是这样关的,要在finally里关闭,即使出了错误也会走finally,而不是像你那样在try和catch里面关两次哈~/*Node.java*/import java.io.File;import java.util.Scanner;impo
回复
使用道具
举报
千问
|
2010-11-1 20:28:23
|
显示全部楼层
正常呀。在catch语句中的scanner是没有声明的,因为scanner语句是在try语句声明,所以范围无法在catch中获取。除非将scanner声明在try之前。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行