1

私は Java に非常に慣れていないので、ランダムな値を入力してから出力するように要求する単純なプログラムを作成したいと考えていました。問題は、番号 1 を入力したとき、出力が 51、入力 3-出力 51、入力 77-出力 55 の場合です。これの何が問題なのですか? コードは次のようになります。

public static void main(String[] args) throws IOException
{
    System.out.print("Input:");
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    int val=br.read();
    System.out.print("Output:");
    System.out.println(val);
}
4

2 に答える 2

3

単一の文字を読み取ってユニコードを出力するだけです:)

のようなものを試してください

String s=br.readLine();
System.out.print("Output:");
System.out.println("Input " + s);
int val = Integer.parseInt(s):
System.out.println("As integer: " + val);

1文字だけ読みたい場合:

System.out.print("Input:");
Reader r = new new InputStreamReader(System.in);
int val = r.read();
System.out.print("Output:");
System.out.println((char) val);

1桁を読みたい場合:

System.out.print("Input:");
Reader r = new new InputStreamReader(System.in);
int val = r.read() - '0';
System.out.print("Output:");
if (val < 0 || val > 9) {
  System.out.println("error, digit expected");
} else {
  System.out.println(val);
}
于 2013-11-10T21:55:30.763 に答える
1

BufferedReader を次のように使用することもできます

public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new     InputStreamReader(System.in));
String input = reader.readLine();
input number = Integer.parseInt(input);
System.out.println(input);
}
于 2016-10-24T06:13:37.353 に答える