在做在线编程题目的时候,需要了解一下数据的输入格式。这样可以对数据处理有比较好的把握,不需要把太多的时间放在这个上面,注重主要的算法逻辑即可。这里总结一下,为之后笔试做个准备。
Scanner类的使用方法:
Scanner scanner = new Scanner(System.in); 复制代码
从终端获取输入流,输入流传入Scanner初始化对象时,作为参数传递进去。
Scanner类的重要几个方法:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()){
String next = sc.next();
System.out.println(next);
}
}
复制代码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()){
String next = sc.nextLine();
System.out.println(next);
}
}
复制代码
读取一个整数。有时候可以直接在终端获取一个整数,不需要在将String转换为int。这样可以减少程序的运行时间。
String转Char[]:利用toCharArray()
Scanner sc = new Scanner(System.in); String line = sc.nextLine(); char[] chars = line.toCharArray(); 复制代码
String转单个插入字符:利用charAt()
Scanner sc = new Scanner(System.in); String line = sc.nextLine(); char charAt = line.charAt(2); 复制代码
int转化为String:利用valueOf()
int n = 10; String s = String.valueOf(10); System.out.println(s); 复制代码
String转int:利用Integer.parseInt(s);
Scanner sc = new Scanner(System.in); String line = sc.nextLine(); int i = Integer.parseInt(line); System.out.println(i); 复制代码
例如:
5,15 2,10 复制代码
import java.util.Scanner;
/**
* @author zhoujian123@hotmail.com 2018/8/24 19:27
*/
public class ScannerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
String[] split = line.split(" ");
for (int i = 0; i < split.length; i++) {
String s = split[i];
int i1 = Integer.parseInt(s.split(",")[0]);
int i2 = Integer.parseInt(s.split(",")[1]);
System.out.println(i1+" "+i2);
}
}
}
复制代码
开始做在线笔试题了!