读书人

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

发布时间: 2012-10-16 09:57:37 作者: rapoo

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也提供了相应的输入方法 用也可以 不过效率不太高

读书人网 >J2SE开发

热点推荐