在做在线编程题目的时候,需要了解一下数据的输入格式。这样可以对数据处理有比较好的把握,不需要把太多的时间放在这个上面,注重主要的算法逻辑即可。这里总结一下,为之后笔试做个准备。
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); } } } 复制代码
开始做在线笔试题了!