Topic: (大虾帮忙看看)io的一个简单的程序怎么老是错误

  Print this page

1.(大虾帮忙看看)io的一个简单的程序怎么老是错误 Copy to clipboard
Posted by: oldb
Posted on: 2006-07-30 13:11

import java.io.*;
public class Input
{
public static void main(String[] args)
{
int a ;
try
{
System.out.println("Input a number");
a = System.in.read();//Input from Keyboard
System.out.println("The number is " + a);//Output in screan
}
catch (IOException ex)
{}

}
}

怎么运行后结果跟输入的数不一样啊??

2.Re:(大虾帮忙看看)io的一个简单的程序怎么老是错误 [Re: oldb] Copy to clipboard
Posted by: Skybus
Posted on: 2006-07-30 13:10

看红色的部分
import java.io.*;
public class Input {
  public static void main(String[] args) {
    int a;
    try {
      System.out.println("Input a number");
      a = System.in.read();// Input from Keyboard
      System.out.println("The number is " + (a-'0'));// Output in screan
    } catch (IOException ex) {
    }

  }
}

3.Re:(大虾帮忙看看)io的一个简单的程序怎么老是错误 [Re: oldb] Copy to clipboard
Posted by: wdx04
Posted on: 2006-07-30 13:23

楼上的程序也只能读1位数。
应该这样写:
try {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String line = in.readLine();
int a = Integer.parseInt(line);
System.out.println("The number is " + a);
}
catch(IOException e) {
}
catch(NumberFormatException e) {
}

4.Re:(大虾帮忙看看)io的一个简单的程序怎么老是错误 [Re: oldb] Copy to clipboard
Posted by: oldb
Posted on: 2006-07-30 20:22

我那样写的为什么不行啊

5.Re:(大虾帮忙看看)io的一个简单的程序怎么老是错误 [Re: oldb] Copy to clipboard
Posted by: cainiao025
Posted on: 2006-07-31 20:39

[quote][b]oldb wrote:[/b]
我那样写的为什么不行啊
[/quote]

因为如果:int a=System.in.read(),则输入字符A,输出为65;是因为这个函数返回的是A这个字符的ascii码值。当改为:char a=(char)System.in.read()时,那么输入的和输出的就会一致。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923