算法题 - ACM 模式中常用输入输出用法总结
Tips:由于算法题中的 ACM 模式需要自己解析输入输出,因此需要熟悉 Scanner、字符串格式化等基本用法
可以在此网站进行 ACM 模式训练:https://kamacoder.com/problemset.php?search=%E5%9F%BA%E7%A1%80
一、Scanner 用法
1.1 构造函数:
// 用法一:读取 System.in 输入的内容
Scanner scan = new Scanner(System.in);
// 用法二:将一行字符串作为输入内容
Scanner scan = new Scanner("A B C");
1.2 读取数据
Scanner scan = new Scanner(System.in);
/* 单词相关 */
// 判断输入中是否还有单词
boolean scan.hasNext();
// 读取下一个单词,此时会忽略空格,回车符号等
String scan.next();
/* 整数相关 */
// 判断输入中是否还有整数
boolean scan.hasNextInt();
// 读取下一个整数,此时会忽略空格,回车符号等
String scan.nextInt();
/* 行相关 */
// 判断输入中是否还有一行字符串
boolean scan.hasNextLine();
// 读取下一行字符串
String scan.nextLine();
/* 布尔值相关 */
boolean scan.hasNextBoolean();
String scan.nextBoolean();
/* float值相关 */
boolean scan.hasNextFloat();
String scan.nextFloat();
/* double值相关 */
boolean scan.hasNextDouble();
String scan.nextDouble();
二、字符串格式化
// 输出并保留两位小数点
double d = 1.2345;
System.out.println(String.format("%.2f", d));
三、Java 常用数据结构
// java 栈
Stack<Integer> stack = new Stack();
// 入栈
Integer stack.push(1);
// 出栈
Integer stack.pop();
// 判断空
boolean stack.isEmpty();