zoukankan      html  css  js  c++  java
  • 自定义输入模板

    转载自:(43条消息) OJ平台(牛客等)中Java的输入方法_lenfranky的博客-CSDN博客_牛客java输入

    扩展:牛客网编程OJ的典型输入Java模板 - 程序员小宇 - 博客园 (cnblogs.com)

    基本格式及所需的库
    在Java5中引入了Scanner库,这个库在日常使用中是非常方便的,可以直接将输入按照格式读取,但是,在牛客上经过笔者的测试,效率要比BufferedReader差很多,因此,在做题时推荐还是用BufferedReader和InputStreamReader来使用。

    在这些平台,一般要求主类名为Main,然后将方法写到main()方法中,因此,我们的类大概是类似如下的格式:

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class Main {
        public static void main(String[] args) throws IOException{
            ......
        }
    }

    有一点要注意的是,由于在IO时所用的方法往往是有声明必检异常的,所以这里如果不想在代码中加入try-catch块的话,main()方法也要声明抛出’IOException`异常。

    输入为一个字符串时

    若输入为一个字符串,如:

    abcd

    相应的读取输入代码:

            // 创建一个BufferedReader对象
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            // 读取字符串
            String line = br.readLine();
    
            // 测试输入是否正确
            System.out.println(line);

    若输入为多个数字

    若输入为多个数字,如下:

    1 2

    这个例子中有两个数字,则代码为:

            // 创建一个BufferedReader对象
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            // 读取第一行数据
            String line = br.readLine();
            // 将字符串根据空格进行分隔
            String[] strings = line.trim().split(" ");
            // 分别将其中的每个数值读出
            int n = Integer.parseInt(strings[0]);
            int v = Integer.parseInt(strings[1]);
    
            // 测试输入是否正确
            System.out.println("n: " + n + "	v: " + v);

    若输入中有一个数组,且有数组的长度

    一种常见的输入方式为,给出数行数据,其中一行为数组,而在前面某一行中,会有一个数据为其数组的位数。如:

    7 6
    1 2 3 4 5 6 7

    其中第二行为一个数组,第一行的第一个数字表示第二行数组的长度,则读取输入的代码为:

            // 创建一个BufferedReader对象
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            // 读取第一行数据
            String line = br.readLine();
            // 将字符串根据空格进行分隔
            String[] strings = line.trim().split(" ");
            // 分别将其中的每个数值读出
            int n = Integer.parseInt(strings[0]);
            int v = Integer.parseInt(strings[1]);
            // 读取第二行数据
            line = br.readLine();
            strings = line.trim().split(" ");
            // 创建一个int型的数组用来储存第二行的多个数字
            int[] nums = new int[n];
            for (int i = 0; i < n; i ++) {
                nums[i] = Integer.parseInt(strings[i]);
            }
    
            // 测试输入是否正确
            for (int num: nums) {
                System.out.print(num + " ");
            }

    ————————————————
    版权声明:本文为CSDN博主「LenFranky」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/lenfranky/article/details/90757224

  • 相关阅读:
    第一次作业:阅读与准备作业
    第一阶段意见总结
    第一冲刺阶段总结与评审
    第一冲刺阶段总结
    第一冲刺阶段第七天
    第一冲刺阶段第六天
    第一冲刺阶段第五天
    第一冲刺阶段第四天
    第一冲刺阶段第三天
    第一冲刺阶段第二天
  • 原文地址:https://www.cnblogs.com/peter-jun/p/15092018.html
Copyright © 2011-2022 走看看