class d {

/**
 * @param args
 */
public static void main(String[] args) {
int a=0,count=0,sum=0;
int b[]=new int[100];
    while(true){

try
      {
        a=System.in.read();
      }
    catch(Exception e)
      {
        e.printStackTrace();
      }
     if(a!='\n')
    {
     a=a-'0';
     b[count]=a;
     count++;
     }
    else break;
  


  }
    for(count=0;count<100;count++)
    
     sum=sum+b[count];        System.out.println(sum);
    
}}
怎么输入0输出是-35呢?
我想实现比如实现输入123 输出6
输出12345 输出15之类的

解决方案 »

  1.   

    麻烦你们最好把错的地方写出更正方法
    a=a-'0';
    a的asci吗减0的吗不就是他现在的数字么
      

  2.   

    如果要比如实现输入123 输出6这样的话
    读入的是string型
    把它转为int型数组
    再进行求和就可以了
      

  3.   

    你把if(a!='\n')换成if(a!='\r')就OK了,其他地方都没问题
    按回车相当于是一个回车符加一个换行符,你刚刚是把\n都算进去了,13-48 = -35
      

  4.   

    刚刚写错了,是把\r算进去了,\r的ascii码是13