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

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

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

输入描述第一行是一个正整数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|02. 输入的每组测试数据有多行的情况

输入描述:第一行是一个正整数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|03. 每行测试数据的数量在该行开头给出

输入描述:第一行是一个正整数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|04. 测试数据组数未知且结果需要取模的情况

输入描述:每行输入两个数分别为 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|05. 测试数据组数未知且结果需要取模的情况

输入描述:
输入数据有多组, 每行表示一组输入数据。
每行不定有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|06.判断子串是否与主串的某段相等

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


__EOF__

本文作者程序员小宇
本文链接https://www.cnblogs.com/treasury/p/13285997.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   程序员小宇  阅读(4491)  评论(1编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示