在做在线编程题目的时候,需要了解一下数据的输入格式。这样可以对数据处理有比较好的把握,不需要把太多的时间放在这个上面,注重主要的算法逻辑即可。这里总结一下,为之后笔试做个准备。
1.从终端输入的方式
Scanner类的使用方法:
Scanner scanner = new Scanner(System.in);
从终端获取输入流,输入流传入Scanner初始化对象时,作为参数传递进去。
image.pngScanner类的重要几个方法:
next方法(读取一个字符)
- 1、一定要读取到有效字符后才可以结束输入(要是什么都不输入,则程序不结束)
- 2、对输入的有效字符之前遇到的空白,next方法会自动将其去掉。只有输入有效字符后才将其后面的输入的空白作为分隔符或者结束符。
- next方法补鞥呢得到带有空格的字符串。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()){
String next = sc.next();
System.out.println(next);
}
}
image.png
nextLine方法(读取一行字符串)
- 1、以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空格。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()){
String next = sc.nextLine();
System.out.println(next);
}
}
image.png
nextInt
读取一个整数。有时候可以直接在终端获取一个整数,不需要在将String转换为int。这样可以减少程序的运行时间。
2.String与Char
String转Char[]:利用toCharArray()
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
char[] chars = line.toCharArray();
image.png
String转单个插入字符:利用charAt()
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
char charAt = line.charAt(2);
image.png
3.String与int
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);
image.png
4.输入的格式
例如:
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);
}
}
}
image.png
开始做在线笔试题了!
网友评论