当前位置: 首页 > news >正文

ACM模式中输入输出的处理

一、自己导包/写main函数/写输出

import java.util.*
public static void main(String[] args){System.out.println()
}

二、统一读取输入模板

import java.util.*; // 导入所有工具类(包括Scanner)public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in); // 只需初始化一次// 1. 读取单行字符串(类似Python的input())String line = sc.nextLine();// 2. 读取单个整数int num = sc.nextInt();// 3. 读取一行整数数组(类似Python的list(map(int, input().split())))int[] arr = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();sc.close(); // 关闭Scanner(非必须但建议)}
}

三、循环读取不确定数量的输入

使用 while(sc.hasNextLint())

四、坑点

若sc.nextInt和sc.nextLine()混用 , 必须使用sc.nextLine()来手动换行 ,原因如下:

  • nextInt() 会​​自动跳过所有空白符(包括换行符)​​,直到找到下一个整数。
  • 连续使用 nextInt() 时,换行符会被自动忽略,无需手动处理。
  • 但当 ​nextInt() 后需要立即读取字符串(如 nextLine())​​ 时,必须显式清除残留的换行符!
int num = sc.nextInt();
sc.nextLine(); // 清除换行符
String s = sc.nextLine(); // 正常读取下一行

相关文章:

  • Linux中的SELinux
  • UE C++学习笔记之按键绑定
  • 解码词向量:让AI语言模型更透明
  • 在 Windows 上使用 WSL 安装 Ansible详细步骤
  • 蚂蚁TuGraph图数据库行业落地,开启数据处理新“视界”
  • 如何利用 Spring Data MongoDB 进行地理位置相关的查询?
  • H310昂达等主板无法开机自启的原因
  • SD-WAN与传统网络结合:轨道交通网络优化的高效实践与深度解析
  • ARM架构
  • 工信部中文点选验证码识别
  • 技术文档写作方法——以MATLAB滤波为例
  • 人工智能与教育科技:2025年个性化学习的新模式
  • Unity InputField 滑动滚轮 实现对文本的滚动
  • 十六进制字符转十进制算法
  • 【React-rnd深度解析】- 01 看看核心逻辑
  • Redisson分布式锁原理
  • 七、【前端路由篇】掌控全局:Vue Router 实现页面导航、动态路由与权限控制
  • 系统开发和运行知识
  • 图解RNN基本结构:从经典模型到注意机制全解析
  • (自用)Java学习-5.13(Redis,OSS)
  • 省建设安全监督站的网站/滕州seo
  • 宁波网站建设怎么样/百度提交工具
  • 做封面的软件ps下载网站/seo营销网站的设计标准
  • 苏州网络推广苏州网站建设/优化关键词的方法正确的是
  • 做ppt设计师哪个网站好/2021年年度关键词
  • 电商网店运营实训报告/优化系统的软件