import java.util.*;
public class TestVector
{
public static void main (String [] args)
{
int b=0;
Vector v=new Vector();
System.out.println("please enter number:");
while(true)
{
try
{
b=System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
if(b== '\r ' ¦ ¦b== '\n ')//这句代码的作用是什么?
break;
else
{
int num=b- '0 ';//这句代码的作用是什么?
v.addElement(new Integer(num));
}
}
int sum=0;
Enumeration e=v.elements();
while(e.hasMoreElements())
{
Integer intObj=(Integer)e.nextElement();
sum +=intObj.intValue();
}
System.out.println(sum);
}
}
问题就在后面的注释地方.不怎么懂.哪个来告诉我啊
public class TestVector
{
public static void main (String [] args)
{
int b=0;
Vector v=new Vector();
System.out.println("please enter number:");
while(true)
{
try
{
b=System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
if(b== '\r ' ¦ ¦b== '\n ')//这句代码的作用是什么?
break;
else
{
int num=b- '0 ';//这句代码的作用是什么?
v.addElement(new Integer(num));
}
}
int sum=0;
Enumeration e=v.elements();
while(e.hasMoreElements())
{
Integer intObj=(Integer)e.nextElement();
sum +=intObj.intValue();
}
System.out.println(sum);
}
}
问题就在后面的注释地方.不怎么懂.哪个来告诉我啊
if(b== '\r ' ¦ ¦b== '\n ')//这句代码的作用是什么?
用户输入了一个换行或者回车键int num=b- '0 ';//这句代码的作用是什么?
如果用户输入一个数字比如9 那么当时b的值为'9'为了取得数字9 减去作为基准值的'0'
那么结果num就是我们想得到的数字9
碰到回车符时就结束掉循环。int num = b - '0',将字符转换成数字。比如输入 '9' 得出的 num 就是 9。
因为 '0' 的 ASCII 值为 48,'9' 的 ASCII 值为 57,内部是按照 int num = 57 - 48 来计算的。
1,同上
2,这里的‘0’是一个字符,也就是char类型,char在java中也就代表ascii码的显示,‘0’ascii为48,这样就是b的ascii-48,得到了一个数值