在平时的刷题过程中一般会遇到题目要求写的是ACM模式代码,即自己写输入输出,下面对自己写输入输出的模式进行了总结。
1. Scanner类获取键盘输入
Scanner 类是获取键盘输入的一个类,首先先创建 Scanner 对象
Scanner sc = new Scanner(System.in);
接下来通过Scanner 类的方法来获取输入,在调用方法之前一般可以采取has…方法判断是否有输入。
next 和 nextLine 都是获取输入字符串的方法
next( )方法 | nextLine( )方法 |
---|---|
只能读取到空格之前的字符串 | 可以读取空格的字符串 |
比如“你好 java”,只能读取“你好” | 比如“你好 java”,可以读取“你好 java” |
在读取前可以使用 hasNext 与 hasNextLine 判断是否有输入的数据
if ( sc.hasNext()) { String str1=sc.next(); }
if ( sc.hasNextLine()) { String str2=sc.nextLine(); }
此外,还可以接受整数和小数,方法如下:
i = scan.nextInt(); // 接收整数
f = scan.nextFloat(); // 接收小数
2.Integer.parseInt和Integer.valueOf的区别
parseInt( ):返回的是基本类型int
而valueOf( ):返回的是包装类Integer
3.ACM模式:连续子数组之和
比如:昨天的剑指offer 42连续子数组之和
如果要求写ACM模式,即自己要写输入输出,代码如下:
import java.util.*;
class Solution1 {
//自己写输入输出。
public static void main(String[] args) {