java的一个问题。。。麻烦帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/25 16:33:51
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String record = "";
while ( (record = rd.readLine()) != null) {
String []b = record.split(" ");
}
String region = b[2].substring(9);
if (region.equals("上海"));
returntel = returntel+","+tele;
}
return returntel;
}
为什么在b[2]下面有个错误,说b没有定义?
String b[];
while ( (record = rd.readLine()) != null) {
b[] = record.split(" ");
}
在while循环体内的b[]这里还是有错。。为什么?

b[] = record.split(" "); 当然有错了,改成:b = record.split(" ");

java里的定义一般是这样的:
String[] b;
while ( (record = rd.readLine()) != null) {
b = record.split(" ");
}

因为你的 b数组定义在while块中,while循环结束后,b的作用域也就结束了
你试下把b数组定义在while循环的外部就可以了

因为 你的b[] 是在whlie循环里定义的,也就是说作用域到不了外面,你应该定义到while循环外

你的补充:

你在外面只是声明;没定义;
你还是在里面定义了;所以外面还是不能访问;

老大...你的b数组是局部变量...只能在while循环语句里面使用...你拿到循环语句外面当然不行的了...还是在while语句上面定义这个数组吧!呵呵 ...
祝老大早日成功!!