BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int c = br.read();//返回的是输入字符的ASCIIString line=br.readLine();
import java.io.*;public class LineIn{ public static void main(String[] args) throws IOException{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("input 3 number>"); String line = in.readLine(); int x = Integer.parseInt(line); line = in.readLine(); int y = Integer.parseInt(line); line = in.readLine(); int z = Integer.parseInt(line);
System.out.println(x+y+z); } }
首先,你要清楚一点,Java的I/O是依赖于流的。你用read()方法得到的是一个字符流,也就是说你输入“10回车”,得到的是‘1’、‘0’和‘\n’这三个字符,而不是一个int型的数10。 Java没有提供一种输入方法来从键盘读入一个字符串,然后自动转换为相应的数据类型。要做到这个,要使用类型包装器(type wrapper):Double、Float、Long……。具体到你的问题,要用Integer。代码如下:int n; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); n = Integer.parseInt(str);类似的,要想得到double型,就用 Double.parseDouble(str); ………
int c = br.read();//返回的是输入字符的ASCIIString line=br.readLine();
public static void main(String[] args) throws IOException{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("input 3 number>");
String line = in.readLine();
int x = Integer.parseInt(line);
line = in.readLine();
int y = Integer.parseInt(line);
line = in.readLine();
int z = Integer.parseInt(line);
System.out.println(x+y+z);
}
}
Java没有提供一种输入方法来从键盘读入一个字符串,然后自动转换为相应的数据类型。要做到这个,要使用类型包装器(type wrapper):Double、Float、Long……。具体到你的问题,要用Integer。代码如下:int n;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
n = Integer.parseInt(str);类似的,要想得到double型,就用
Double.parseDouble(str);
………