【总结】

1. 一直输入模板

import java.util.*;
public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {//操作}}
}

2. 有组数或者输入个数

import java.util.Scanner;
public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n=sc.nextInt();while(n>0) {//操作n--;}}
}

3. 一行有多个信息 split切分

// a c bb 一直输入
import java.util.*;import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()) {String[] strs = sc.nextLine().split(" ");//操作}}
}

4.含结束标志

/**4. 数组求和   0为结束*
4 1 2 3 4(4个数 和为1+2+3+4 )
5 1 2 3 4 5
0*
10
15*/import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()){int n = sc.nextInt();if (n == 0) {return;}int sum = 0;//while (n-- > 0){//    sum += input.nextInt();//}for (int i = 0; i < n; i++) {sum += sc.nextInt();}System.out.println(sum);}}}

5. 小技巧 /函数

5.1 拼接

String[] strs = sc.nextLine().split(" ");Arrays.sort(strs);// System.out.println(String.join(" ",s));String res = "";for(String s : strs)res += s + " ";System.out.println(res.trim());

5.2 强转型 字符串数组转整数

// sc  0 0 0 0 0
String[] str =  sc.nextLine().split(" ");for(int i=0;i<str.length;i++){sum+=Integer.parseInt(str[i]);}//for(String str:int1){//    i+=Integer.valueOf(str);//}

[小技巧][JAVA][转换]字符数组与字符串之间互相转换
[小技巧][JAVA][转换]整型与字符串相互转换

6.next() 与 nextLine() 区别

next():

1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine():

1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。

链接:https://www.runoob.com/java/java-scanner-class.html

【牛客网想对你说】

每年前几场在线笔试编程题的时候,总有同学询问为什么我本地测试通过,自测也通过,提交代码系统却返回通过率0。
这不是系统的错,可能是因为
1.你对题目理解错了,你的代码只过了样例或你自己的数据
2.你的代码逻辑有问题,你的代码只过了样例或你自己的数据
总之就是你的代码只是过了样例和自测数据,后台的测试数据你根本不可见,要多自己思考。

这个题目如果你提交后通过率为0,又觉得自己代码是正确的,可以 点击查看 通过的代码

谨记:
当你笔试的时候怀疑系统或者题目数据有问题的时候请务必先怀疑自己的代码!
当你笔试的时候怀疑系统或者题目数据有问题的时候请务必先怀疑自己的代码!

链接:https://ac.nowcoder.com/acm/contest/5647/K
来源:牛客网

【练习答案汇总】

/**1.数组求和 一直输入
* 1 5
10 20
*
* 630
* */
import java.util.*;
public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {int a = sc.nextInt();// long a=sc.nextLong();int b = sc.nextInt();// long b=sc.nextLong();System.out.println(a + b);}}
}/** 2.数组求和 有组数*
2(组数)
1 5
10 20*
6
30* */
import java.util.Scanner;
public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n=sc.nextInt();while(n>0) {int a=sc.nextInt();int b = sc.nextInt();int sum=a+b;System.out.println(sum);n--;}}
}/** 3.数组 0 0 为结束*
1 5
10 200 0*
6
30* */
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);while (input.hasNext()){int a = input.nextInt();int b = input.nextInt();//!if (a == 0 && b == 0){break;}System.out.println(a + b);}}
}/**4. 数组求和   0为结束*
4 1 2 3 4(4个数 和为1+2+3+4 )
5 1 2 3 4 5
0*
10
15*/import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()){int n = sc.nextInt();if (n == 0) {return;}int sum = 0;//while (n-- > 0){//    sum += input.nextInt();//}for (int i = 0; i < n; i++) {sum += sc.nextInt();}System.out.println(sum);}}}/** 5. 数组求和   有组数*
2(组数)
4 1 2 3 4  (4个数 和为1+2+3+4 )
5 1 2 3 4 5**10
15*/import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);int t=sc.nextInt();for(int i=0;i<t;i++){int num=sc.nextInt();int sum=0;for(int j=0;j<num;j++){sum=sum+sc.nextInt();}System.out.println(sum);}}
}
/**6. 数组求和   一直输入4 1 2 3 4 (4个数 和为1+2+3+4 )5 1 2 3 4 5*1015
*/
import java.util.Scanner;
public class Main{public static void main(String [] args){Scanner sc = new Scanner(System.in);while(sc.hasNext()){int n = sc.nextInt();int sum = 0;for(int i =0;i<n;i++){sum += sc.nextInt();}System.out.println(sum);}}}/** 7,数组求和 直接求  一直输入*
1 2 3
4 5
0 0 0 0 0*
6
9
0*/
import java.util.Scanner;
public class Main{public static void main(String [] args){Scanner sc = new Scanner(System.in);while(sc.hasNext()){int sum = 0;String[] str =  sc.nextLine().split(" ");for(int i=0;i<str.length;i++){sum+=Integer.parseInt(str[i]);}//for(String str:int1){//    i+=Integer.valueOf(str);//}System.out.println(sum);}}
}/** 字符串1 有个数*5(个数)c d a bb e*a bb c d e*/
import java.util.Scanner;
import java.util.Arrays;
import java.util.*;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);while (sc.hasNext()) {int num = sc.nextInt();String[] s = new String[num];for(int i = 0;i < num; i++){s[i] = sc.next();}Arrays.sort(s);System.out.println(String.join(" ",s));}}}/** 字符串2 一直输入*a c bbf ddddnowcoder**a bb cdddd fnowcoder*/
import java.util.*;import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()) {String[] strs = in.nextLine().split(" ");Arrays.sort(strs);// System.out.println(String.join(" ",s));String res = "";for(String s : strs)res += s + " ";System.out.println(res.trim());}}
}/** 字符串3 一直输入 ,号间隔 a,c,bbf,ddddnowcoder*a,bb,cdddd,fnowcoder*/import java.util.*;
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()) {String[] strs = in.nextLine().split(",");Arrays.sort(strs);// System.out.println(String.join(",",s));String res = "";for(String s : strs)res += s + ",";System.out.println(res.substring(0, res.length() - 1));}}
}

【小技巧】【牛客网】【JAVA】在线输入输出练习相关推荐

  1. 牛客网大厂在线笔试输入输出练习python3版

    牛客网大厂在线笔试输入输出练习python3版 写在前面 1 解法一: 解法二:(错误解法) 2 解法一 解法二:错误解法 解法三 3 解法一 解法二 4 解法一 解法二 5 解法一 解法二 解法三 ...

  2. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  3. Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer

    剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...

  4. 牛客网 Java 工程师能力评估 20 题 - 详解

    牛客网 Java 工程师能力评估 20 题 - 详解 不知在看博客的你是否知道 牛客网,不知道就太落后了,分享给你 : 牛客网 此 20 题,绝对不只是 20 题! 免责声明:本博客为学习笔记,如有侵 ...

  5. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...

    不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...

  6. 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数...

    不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...

  7. 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  8. 牛客网Java选择题练习

    牛客网Java选择题练习 2021/1/12 2021/1/13 2021/1/14 2021/1/16 2021/1/17 2021/1/18 2021/1/20 2021/1/21 2021/1/ ...

  9. 牛客网-Java专项练习11

    牛客网-Java专项练习11 1.关于抽象类和接口叙述正确的是? ( ) A.抽象类和接口都能实例化的 B.抽象类不能实现接口 C.抽象类方法的访问权限默认都是public D.接口方法的访问权限默认 ...

  10. 牛客网java刷题笔记2019-1-4

    牛客网java刷题笔记 2019-1-4 1.java中可以用类中构造器调用其他类构造器(这个和C++中构造函数很类似)用于初始化程序变量值, 构造器和方法的区别: 功能和作用的不同 构造器是为了创建 ...

最新文章

  1. ExecuteScalar()如何返回整数
  2. 上机题目(0基础)- 数据库事务(Java)
  3. c++查询当前文件夹下文件数目_python3自动化小工具--删除某个文件夹xx后缀文件...
  4. 修改对象的某个属性的值_如何理解Python中的面向对象编程?
  5. OSChina 周三乱弹 ——祖传的程序员?????
  6. 2020建模穿越沙漠第一关python代码
  7. image caption
  8. 关于神经网络中的shape问题
  9. Docker三剑客之Docer Swarm
  10. win10安装PyPESQ库
  11. UVA 487 - Boggle Blitz
  12. .Net Core 使用UDP协议实现即时通讯
  13. linux 是否支持中文
  14. php js 插件,超轻量级网页流布局JS插件Macy.js
  15. 前锋python入门到精通_武磊离顶级前锋到底有多远?Python实战分析告诉你
  16. 《蹭课神器》项目总结
  17. 【记录】U盘安装Ubuntu20.04系统
  18. (附源码)springboot森林生物调查系统的设计与实现 毕业设计301826
  19. 开源php ugc 社区,如何设计UGC社区的内容展示规则?
  20. N5772A 34901A

热门文章

  1. 深度理解 Virtual DOM
  2. sql server使用杂记
  3. 问题解决: 此文件来自其他计算机,可能被阻止以帮助保护该计算机
  4. ADO连接各种数据库
  5. MyEclipse2015双击不能打开文件
  6. Android 获取设备ID,手机厂商,运营商,联网方式,获取系统语言,获取时区
  7. Android自定义view详解,使用实例,自定义属性,贝塞尔曲线
  8. vue js table colspan rowspan
  9. Support for the experimental syntax 'dynamicImport' isn't currently enabled
  10. 新的编程语言研发契机思考