博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客网编程OJ的典型输入Java模板
阅读量:4112 次
发布时间:2019-05-25

本文共 2900 字,大约阅读时间需要 9 分钟。

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

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

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

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

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; }}

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

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

转载地址:http://lfrsi.baihongyu.com/

你可能感兴趣的文章
非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)
查看>>
Tomcat启动错误,端口占用
查看>>
安卓模拟器请求本地资源,不修改hosts
查看>>
laravel 修改api返回默认的异常处理
查看>>
高德坐标转换百度坐标 javascript
查看>>
tp5封装通用的修改某列值
查看>>
laravel控制器与模型名称不统一
查看>>
vue登录拦截
查看>>
npm配置淘宝镜像仓库以及electron镜像
查看>>
linux设置开机自启动脚本的最佳方式
查看>>
VUE SPA 单页面应用 微信oauth网页授权
查看>>
phpstorm 集成 xdebug 进行调试
查看>>
npm和node升级的正确方式
查看>>
laravel事务
查看>>
springcloud 连续请求 500
查看>>
vue复用新增和编辑表单
查看>>
Ubuntu 16.04 apt-get更换为国内阿里云源
查看>>
laravel部署到宝塔步骤
查看>>
小程序获取access_token
查看>>
navicat远程连接mysql数据库
查看>>