java输入输出代码片段

来源:互联网 发布:郝斌老师c语言笔记 编辑:程序博客网 时间:2024/06/05 20:36

本文提供一些java代码片段,可简化ACM,OJ的输入输出。

import java.util.*;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Main {private static String line;// 请实现本函数,处理每一行输入private static void handle() {System.out.println(line);}// 请根据每行输入,判断是否为最后一行,即在处理该行后是否应该停止private static boolean stop() {return false;}// 主程序public static void main(String[] args) {ScannerUtil.scanner();}public static class ScannerUtil {private static Scanner in = new Scanner(System.in);public static void scanner() {while (in.hasNextLine()) {line = in.nextLine();handle();if (stop())break;}}public static void scannerNum() {int n = Integer.parseInt(in.nextLine());for (int i = 0; i < n; i++) {line = in.nextLine();handle();}}}public static class PrintUtil {// 请实现本函数,转换参数类型后打印private static void print(Object object) {Map.Entry<Integer, String> entry = (Map.Entry<Integer, String>) object;System.out.print("{" + entry.getKey() + ", " + entry.getValue() + "}");}public static void printCollections(Collection collection, String split, boolean nrFlag) {printCollections(collection, split, nrFlag, "", "");}public static void printMap(Map map, String split, boolean nrFlag) {printMap(map, split, nrFlag, "", "");}public static void printCollections(Collection collection, String split, boolean nrFlag, String start, String end) {if (collection.size() == 0)return;Iterator iterator = collection.iterator();System.out.print(start);print(iterator.next());while (iterator.hasNext()) {System.out.print(split);if (nrFlag)System.out.println();print(iterator.next());}System.out.println(end);}public static void printMap(Map map, String split, boolean nrFlag, String start, String end) {printCollections(map.entrySet(), split, nrFlag, start, end);}}public static class RegExpUtil {// 请把正则表达式赋值给regStrpublic static String regStr = "0x..";// 正则匹配结果保存在regIn中public static ArrayList<String> regIn = new ArrayList<String>();private static Pattern p = Pattern.compile(regStr);private static Matcher m;// 在handle()函数中调用本函数进行正则解析public static void parse() {regIn.clear();m = p.matcher(line);while (m.find()) {regIn.add(m.group());}}}}

测试代码(与上一段代码放入同一文件即可运行):

//测试Main中部分函数class MainTest {    //测试PrintUtil    static void testPrintUtil() {        Map<Integer, String> m = new HashMap<Integer, String>();        m.put(1, "qwe1");        m.put(2, "qwe2");        m.put(3, "qwe3");        Main.PrintUtil.printMap(m, ",", true);        Main.PrintUtil.printMap(m, ",", true, "{\n", "\n}");        Main.PrintUtil.printMap(m, ",", false, "[", "]");            /*            测试结果:                {1, qwe1},                {2, qwe2},                {3, qwe3}                {                {1, qwe1},                {2, qwe2},                {3, qwe3}                }                [{1, qwe1},{2, qwe2},{3, qwe3}]            */    }    public static void main(String[] args) {        testPrintUtil();    }}


原创粉丝点击