新手求教
import java.util.*;
public class TestVector {
public static void main(String[] args) {
// TODO: Add your code here
int b = 0;
Vector v = new Vector();
while(true)
{
try{
b = System.in.read();
}catch(Exception e)
{
e.printStackTrace();
}
if(b == '\r ' || b == '\n ')
{
return;
}
else
{
b = b- '0 ';
v.addElement(new Integer(b));
}
}
Enumeration e = v.elements();
int sum = 0;
while(e.hasMoreElements())
{
Integer intobj = (Integer)e.nextElement();
sum += intobj.intValue();
}
System.out.println(sum);
}
}
编译提示:
无法访问的语句
Enumeration e = v.elements();
作为对普通类型java.util.vectord的成员addElements(E)的调用未经检查,
我应该如果修改??
------解决方案--------------------如果输入字母会发生什么情况?这个条件要考虑啊!
------解决方案--------------------while(true)这是个死循环.他以后的语句没有办法访问到.把这个条件给改了吧.
你是在看张教祥的书吧! <JAVA就业培训教程>
------解决方案--------------------改为:
if(b == '\r ' || b == '\n ')
{
break;
}
------解决方案--------------------楼上的人瞎话连篇,多了个“}”
------解决方案--------------------不能到达的位置.
import java.util.*;
public class TestVector {
public static void main(String[] args) {
// TODO: Add your code here
int b = 0;
Vector v = new Vector();
boolean flg = true;
while (flg) {
try {
b = System.in.read();
} catch (Exception e) {
e.printStackTrace();
}
if (b == '\r ' || b == '\n ') {
return;
} else {
b = b - '0 ';
v.addElement(new Integer(b));
}
}
Enumeration e = v.elements();
int sum = 0;
while (e.hasMoreElements()) {
Integer intobj = (Integer) e.nextElement();
sum += intobj.intValue();
}
System.out.println(sum);
}
}
------解决方案--------------------弄个搞笑的:)
在循环体里面加上:
if(false) break;