• 牛客网编程OJ的典型输入Java模板


    笔试的时候一般都需要自己写输入输出,为了尽可能减少因为格式问题而爆0这种委屈之事,我在此以牛客网OJ为例总结了常见的6种典型情况输入描述的模板。希望可以帮助到广大考友把更多的精力放在解题思路上。逻辑代码写到while循环里

    1. 输入是已知大小的二维数组

    输入描述第一行是一个正整数n,表示二维数组有n行n列。

     public static void main(String[] args) {
          Scanner scan = new Scanner(System.in);
          int n=scan.nextInt();//定义需要的阶层数n
          int[][]array=new int[n][n];//定义一个n*n的数组array
          System.out.println("输入数组的各个元素:");
          for(int i=0;i<n;i++) {
              for (int j = 0; j < n; j++) 
                  array[i][j] = scan.nextInt();
          }
     }
    

    2. 输入的每组测试数据有多行的情况

    输入描述:第一行是一个正整数T,表示有T组测试数据。
    之后每组数据有三行,第一行为n(1<=n<=10000),第二行有n个正整数,第三行也有n个正整数;都在整数范围内。

    输入:
    3
    3
    1 2 3
    1 2 3
    4
    4 3 2 1
    1 1 1 1
    2
    1 2
    10 20
    输出:
    7
    4
    30

       public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            int T = in.nextInt();
            while(T>0){
                T--;//为了保证输出的第一行会换行
                //a和b分别放每组测试用例的第二行和第三行
                int[] a = new int[10000];
                int[] b = new int[10000];
                int n = in.nextInt();
                for(int i=1; i<=n; i++){
                    a[i] = in.nextInt();
                }
                for(int i=1 ;i<=n; i++){
                    b[i] = in.nextInt();
                }
            }//将输入带到function()方法里去运算
            System.out.println(function(a,b))
       }
    

    3. 每行测试数据的数量在该行开头给出

    输入描述:第一行是一个正整数T,表示有T组测试数据。
    之后每组数据第一个数为N(1<=n<=10000),紧接着有N个正整数;(注意在一行)

    public static void main(String[] args){
            Scanner input = new Scanner(System.in);
            int T = input.nextInt();
            for(int i=0; i<T; i++) {
                int N = input.nextInt();
                String s = input.next();//注意用的是next(),不换行
                char[] ch = new char[10000];
                for (int j=0; j<N; j++) {
                    ch[j] = s.charAt(j);
                }
                System.out.println(function(ch));
            }
        }
    

    4. 测试数据组数未知且结果需要取模的情况

    输入描述:每行输入两个数分别为 N 和 L ,直到N 和 L为止;结果对1000000007取模

    public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            Long mod = 1000000007l;
            while (input.hasNext()) {
                Long n = input.nextLong();
                Long l = input.nextLong();
                if (n == 0 && l == 0) {
                    break;
                }//将输入带到function()方法里去运算
                System.out.println(function(n,l)%mod);
            }
    }
    

    5. 测试数据组数未知且结果需要取模的情况

    输入描述:
    输入数据有多组, 每行表示一组输入数据。
    每行不定有n个整数,空格隔开。(1 <= n <= 100)。

      public static void main(String[] args){
          Scanner sc=new Scanner(System.in);
            while(sc.hasNextLine()){
                 String [] s=sc.nextLine().split(" ");
                 int sum=0;
                 for(int i=0;i<s.length;i++){
                    sum=sum+Integer.parseInt(s[i]);
                 }
                 System.out.println(sum);
             }
       }
    

    6.判断子串是否与主串的某段相等

    public class StringExist {
        public static void main(String [] args){
            //输入主串和子串
            Scanner input = new Scanner(System.in);
            String mainString = input.nextLine();
            String subString = input.nextLine();
            //判断方法调用
            boolean result = jugdeExist(mainString,subString);
            System.out.println(result);
    
        }
        //判断子串是否与主串的某段相等
        public static boolean jugdeExist(String mainString,String subString){
            if (null== mainString)return false;
                String[] forArray = mainString.split(",");
                for (String Id : forArray) {
                    if(Id.equals(subString))
                        return true;
                }
            return false;
        }
    }
    
    

    更多字符串的输入输出练习在牛客网上有练习场,推荐给大家
    OJ在线编程常见输入输出练习场

    如果对你有帮助的话来个赞呗,如果有什么问题欢迎交流,我会更努力地分享高质内容给大家。考试顺利~~

    细节请参考:https://blog.csdn.net/bat67/article/details/79685997?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

    转自:https://blog.csdn.net/smile001isme/article/details/105470699?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

  • 相关阅读:
    MySQL常用命令
    Jstack、Jmap命令简单使用
    MySQL慢查询日志ES索引模板
    MySQL二进制安装部署
    varnish启动报错
    基础训练 Sine之舞
    基础训练 FJ的字符串
    基础训练 芯片测试
    基础训练 龟兔赛跑预测
    基础训练 回形取数
  • 原文地址:https://www.cnblogs.com/treasury/p/13285997.html
Copyright © 2020-2023  润新知