当前位置: 代码迷 >> J2SE >> java中输出的值不是想要的值?如何解决
  详细解决方案

java中输出的值不是想要的值?如何解决

热度:3007   发布时间:2013-02-25 00:00:00.0
java中输出的值不是想要的值?怎么解决?
import java.io.* ;
public class Test1 {
 public static void main (String args[]) {
  System.out.print("Input:");
 int i = 0 ;
 
  try {
  i = System.in.read();
  }
  catch(IOException e) { 
  e.printStackTrace();

 
  }
  System.out.println(i) ;  
 } 
}

------解决方案--------------------------------------------------------
换Scanner能解决。
Java code
import java.util.Scanner;public class Test1 {    public static void main (String args[])     {        Scanner scan=new Scanner(System.in);        System.out.print("Input:");        int i = 0 ;        i = scan.nextInt();        System.out.println(i) ;       }  }
------解决方案--------------------------------------------------------
楼主的代码应该得到是字符的编码的值。
用1楼的方法吧,可以得到你输入的数字。
------解决方案--------------------------------------------------------
这样也行,楼主参考下:
Java code
import java.io.* ;import java.util.Arrays;                        //仅供显示用。public class Test1 {    public static void main (String args[])     {        System.out.print("Input:");        int i = 0 ;        byte[] input=new byte[10];                //定义一个10个长度字节数组.        try         {            i = System.in.read(input);            //从键盘接收输入,i是实际读入长度。             }        catch(IOException e)        {               e.printStackTrace();        }        int number=0;        for(int j=0;j<i-2;j++)                    //去掉回车换行。        {            number=number*10+((int)input[j]-48);        //循环把ascii码转成数字。        }        System.out.println("input is  "+Arrays.toString(input));        System.out.println("number is: "+number) ;       }  }
------解决方案--------------------------------------------------------
自己使用BufferReader实现接受键盘输入 以后每次用就可以 Scanner也提供了相应的输入方法 用也可以 不过效率不太高
  相关解决方案