因为用System.in.read()读入的是字符,不是int行,所以输出的不是100,
而是ASCII码,

解决方案 »

  1.   

    import java.io.*;
    import java.text.*;
    public class Read
    {
     public static void main(String[] args)
     {try
       {InputStreamReader isr=new InputStreamReader(System.in);
        BufferedReader br=new BufferedReader(isr);
        String s=br.readLine();
        这个s就可以接受终端的输入了
      

  2.   

    int num=0;
    try{
       BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
       String str=br.readLine();
       if(str!=null&&!str.equals(""))
          num=Integer.parseInt(str);
    }
    catch(IOException e){
    System.out.println("error");
    }

    System.out.println(num);
      

  3.   

    你可以将读人的写入char ch=System.in.read();,然后StringBuffer aStr;
    aStr.append(ch);就是将输入到aStr.toString() 就可以得到你的字符串了,
    就可以操作它了,变为你想要的类型或其他的操作。
      

  4.   

    scorpiotianyawei(scorpiotianyawei) 的代码:
    int num=0;
    try{
       BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
       String str=br.readLine();
       if(str!=null&&!str.equals(""))
          num=Integer.parseInt(str);
    }
    catch(IOException e){
    System.out.println("error");
    }

    System.out.println(num);请你自己拷去执行,这是流的概念,在Java中输入和输出都是用的流对象。
      

  5.   

    petit (tom-cat雄猫):
    那怎么办呢?我测了一下输入:100    120    200   50
                          输出:49      49     50    53
    好像没什么关系!表面上你是输入的100,其实只有一个1,它的ASCII码是49,120--1,200--2,
    50--5
    解决办法参考上面几位兄弟的方法.