日期:2014-05-20  浏览次数:20782 次

新手求教
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;