Scanner sc = new Scanner (new BufferedInputStream(System.in));
Scanner sc = new Scanner (System.in);
// 读一个整数
int n = sc.nextInt();
// 读一个字符串
String s = sc.next();
// 读一个浮点数
double t = sc.nextDouble();
// 读一整行
String s = sc.nextLine();
// 判断是否还存在输入
sc.hasNext()Copy to clipboardErrorCopied
很多时候我们还需要去判断输入,并且根据不同的指令执行不同的操作:
Scanner scanner = new Scanner(System.in);
System.out.println("Command me please!");
String inputString = "";
while (!inputString.equals("quit")) {
inputString = scanner.nextLine();
String[] commandTokens = inputString.split(" ");
if (commandTokens.length == 0) {
scanner.close();
throw new InputMismatchException("please enter a command");
} else {
String command = commandTokens[0];
if (command.equals("search")) {
System.out.println("this is where we can call search with "
+ makeArguments(commandTokens));
}
}
}
scanner.close();Copy to clipboardErrorCopied
或者将输入的参数连接:
public static String makeArguments(String[] commandTokens) {
String completeStringArgument = "";
for (int i = 1; i < commandTokens.length - 1; i++) {
completeStringArgument += commandTokens[i] + " ";
}
return completeStringArgument + commandTokens[commandTokens.length - 1];
}Copy to clipboardErrorCopied
输出处理
在此前已经介绍过,控制台的输出由 print()
和 println()
完成,这些方法都由类 PrintStream 定义,System.out 是该类对象的一个引用;PrintStream 继承了 OutputStream 类,并且实现了方法 write(),也可以用来往控制台写操作。
下面的例子用 write()把字符"A"和紧跟着的换行符输出到屏幕:
import java.io.*;
// 演示 System.out.write().
public class WriteDemo {
public static void main(String args[]) {
int b;
b = 'A';
System.out.write(b);
System.out.write('\n');
}
}