package xyz;
import java.util.*;public class test { public static void main(String[] args) {
int b = 0;
ArrayList a = new ArrayList();
System.out.println("enter  two num");
while (true) {
try {
b = System.in.read();
// System.out.println("b is "+b);
} catch (Exception e) {
System.out.println(e.getMessage());
}
if (b == '\r' || b == '\r')
break;
else {
// System.out.println("b is "+b);
int num = b - '0'; // 这是为什么?
// System.out.println("num is "+num);
try {
a.add(new Integer(num));
} catch (Exception e) {
System.out.println(e.getMessage()); }
} int sum = 0;
Iterator v = a.iterator(); while (v.hasNext()) {
sum += (Integer) v.next();
}
System.out.println(sum);
} }}int num = b - '0';     
这一句话是什么意思?
谢谢

解决方案 »

  1.   


    import java.util.*;public class test { public static void main(String[] args) {

    char b = 0;
    ArrayList a = new ArrayList();
    System.out.println("enter  two num");
     
    while (true) {
    try {
    b = (char)System.in.read();
    } catch (Exception e) {
    System.out.println(e.getMessage());
    }
    if (b == '\r' || b == '\r')
    break;
    else {
    int num = b- '0'; // 这是为什么?
         
    try {
    a.add(new Integer(num));
    } catch (Exception e) {
    System.out.println(e.getMessage()); }
    } int sum = 0;
    Iterator v = a.iterator(); while (v.hasNext()) {
    sum += (Integer) v.next();
    }
    System.out.println(sum);
    } }}
      

  2.   

    int num = b- '0';====================将字符转换为数字~~
      

  3.   

    b = (char)System.in.read();
    int num = b- '0'; 
    b是字符,将b和‘0’相减,可得数字
      

  4.   

    如果,char b='9'
    那么 '9'=57
    int b='9'-'0'=57-48=9
    就是把读入的字符型数字转换成整数型。
      

  5.   

    这里的'0'的ascII码是48和'a'的ascII码为97
    这个程序就是类型转化
      

  6.   

    b是一个整型变量,'a'在这里会取其ascii码值:48
    也就是相当于:int num=b-48;
      

  7.   

    int num = b- '0';
    ascii码相减 转成数字