栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

算法学习-简约的Java ACM输入总结以及出错点避雷,看了这个你就成功了(持续更新中)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

算法学习-简约的Java ACM输入总结以及出错点避雷,看了这个你就成功了(持续更新中)

文章目录
  • 整体框架以及常见输入输出

在面试的过程中,许多大厂的算法编程题都是要求ACM输入输出模式的,对于在力扣上刷习惯核心模式的我们会略显生疏,因此本文对相关的输入输出进行简单汇总,方便查阅。

本文参考牛客网OJ在线编程输入输出专场。

整体框架以及常见输入输出

整体的程序框架需要自己导入常用的包,并且类名public Class Main和主方法名public static void main(String[] args)需要留意。

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc= new Scanner(System.in);
     
        }
    }
}

ACM输出很简单:

System.out.print();
System.out.println();

ACM输入分为几种情况:
首先需要了解:

  1. sc.hasNext()可以用于判断接下来是否还有输入,常用于输入没有指定输入行数,需要while(sc.hasNext())一直循环直到内部break终止。
  2. sc.nextLine()可以读取到回车符以后的String。
    其运用可以是:
    • int n=Integer.valueOf(sc.nextLine()),将读取到的String转换为数字。
    • String[]ss=sc.nextLine().split(" "),将读取到的String根据空格分割为String数组。
  3. sc.nextInt()、sc.nextLong()用于读取下一个int或long类型的数字,但是「不能读取末尾的回车」。
    需要特别注意的是,当碰到下面这种情况:
5
c d a bb e

我们想要读取这两行的数据,当采用下面的读法,String s读出来的是空字符,因此nextInt()仅仅读取到了5,但是没有把后面的回车换行符读进去,留在了缓存区里面。然后sc.nextLine()读取到了回车符,出现错误。

int n=sc.nextInt();
String s=sc.nextLine();

我们可以用多加一行sc.nextLine();读取掉换行符。

int n=sc.nextInt();
sc.nextLine();
String s=sc.nextLine();

或者更推荐的做法是,直接用int n=Integer.parseInt(sc.nextLine());或者int n=Integer.valueOf(sc.nextLine());连带回车符一起读取。

int n=Integer.valueOf(sc.nextLine());
sc.nextLine();
String s=sc.nextLine();
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1039827.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号