比较传统的输入方法用输入流,得到字符串后要另行判断、转换
案例
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class MainRun { public static void main(String[] args) { try { BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(System.in)); System.out.println("请输入一个整数:"); String str1 = bufferedReader.readLine(); Integer int1 = Integer.valueOf(str1); System.out.println("输入的整数是:" + int1); System.out.println("请输入一个浮点数:"); String str2 = bufferedReader.readLine(); Double double1 = Double.valueOf(str2); System.out.println("输入的浮点数是:" + double1); } catch (IOException e) { e.printStackTrace(); } } }
请输入一个整数:
234
输入的整数是:234
请输入一个浮点数:
23
输入的浮点数是:23.0
JDK5以后有了Scanner处理控制台输入
格式1: Scanner sc = new Scanner(new BufferedInputStream(System.in));
格式2: Scanner sc = new Scanner(System.in);
在有多行数据输入的情况下,一般这样处理:
while(sc.hasNextInt()){...} 或者 while(sc.hasNext()){}
读入一个字符串: String str = sc.next();
读入一整行数据: String lineString=sc.nextLine();
读入一个布尔值: boolean boolenaNumber = sc.nextBoolean();
读入一个字节型数据: byte byteNumbe = sc.nextByte();
读入一个短整型数据: short shortNumber=sc.nextShort();
读入一个整数: int intNumber = sc.nextInt();
读入一个长整型数据: long longNumber=sc.nextLong();
读入一个单精度浮点数: float floatNumber=sc.nextFloat();
读入一个双精度浮点数: double doubleNumber=sc.nextDouble();
对于计算代码运行时间:
long startTime = System.nanoTime(); // … the code being measured … long estimatedTime = System.nanoTime() - startTime;
输出:
格式化输出:
1、类名是public class Main
时间: 2024-10-12 23:20:08