JAVA基础:Scanner类中next(), nextLine(), hasNext(), hasNextLine()

news2024/10/7 18:29:00

一、next() : 只读缓冲区中空格之前的数据,并且光标指向本行。
二、nextLine() : 读取除回车以外的所有符号(整行内容),光标定位在下一行
三、hasNext() :检查下一个标记(token),也就是以空格、制表符或换行符为分隔符的一个单词。如果输入流中还有下一个标记,则返回 true;否则返回 false。
四、hasNextLine(): 检查下一行是否存在。如果输入流中还有下一行,则返回 true;否则返回 false。


因此,hasNext() 和 hasNextLine() 的主要区别在于它们检查的输入单元不同,前者检查标记,后者检查行。一般来说,如果需要逐个读取数字,可以使用 hasNext() 方法;如果需要逐行读取文本,可以使用 hasNextLine() 方法

每组元素个数确定或者已知用in.hasNext();

每组元素个数不确定用逐行读取的in.hasNextLine();

例题1:多组求和(每行首数字是元素个数)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
       
        while(sc.hasNext()){
            int num = sc.nextInt();
            int sum = 0;
            while(num-- > 0){
                sum+= sc.nextInt();
            }
            System.out.println(sum);
        }
        
    }
}

例题2:多组求和(提前输入组数)

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        sc.nextLine();  //取出缓冲区中的空白符
        while(sc.hasNext()) {
            int a = sc.nextInt();
            int b = sc.nextInt();
            System.out.println(a+b);
        }
    }
}

例题3:多组求和

import java.util.Scanner;

public class Main {
 public static void main(String[] args){
     Scanner sc = new Scanner(System.in);
     while(sc.hasNextLine()){
         String[] str = sc.nextLine().split(" ");
         int sum=0;
         for(String s : str){
             sum += Integer.parseInt(s);
         }
         System.out.println(sum);
     }
 }   
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495938.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[JAVA EE]创建Servlet——实现Servlet接口笔记1

创建Servlet的方式之一:实现servlet接口 servlet的生命周期: 1、实例化:创建servlet实例对象 2、初始化:调用init方法完成初始化工作 3、服务:调用service方法来处理用户请求 4、销毁:调用destroy方法…

Java算法比赛常用方法

1. 开方:Math.sqrt(x); 2. x的a方:Math.pow(x,a); 3. 绝对值:Math.abs(x); 4. BigInteger:大数(加,减,乘,除,取余) c.add(d) ; c.subtract(d)…

如何用100天彻底学会Python?

Python 是一门功能强大、易于学习且历史悠久的编程语言。如果你希望在短时间内彻底学会 Python,需要制定一个全面的学习计划,并进行刻意的练习和实践。 以下是一份建议的学习计划,帮助你在 100 天内掌握 Python 技能。 第 1-10 天&#xff…

从bootamition出发分析OpenHarmony下Gralloc buffer管理机制

从bootamition出发分析OpenHarmony下Gralloc buffer管理机制 引言 这个文档主要记录从bootamition角度出发,分析OpenHarmony下对gralloc buffer的管理!由于OpenHarmony图形子系统过于复杂,且个人由于能力有限,这里我仅从gralloc b…

2023.03青少年机器人技术等级考试理论综合试卷(五级)

2023年3月青少年机器人技术等级考试理论综合试卷(五级) 一、单选题(共 20 题,共 80 分) 1. 0x35 & 7 的结果是?(A ) A. 5 B. 55 C. 50 D. 54 2.一般状况下,关于主控板的工作电压&#xff0c…

「 Redis 」大key对持久化有什么影响?

「 Redis 」大key对持久化有什么影响? 参考&鸣谢 Redis 大 Key 对持久化有什么影响? XiaoLinCoding 解决了Redis大key问题,同事们都夸他牛皮 大白斯基 快手面试官:Redis变慢了,如何快速排查? Java 那些…

Vue 2.0 学习笔记

Vue学习笔记 文章目录 Vue学习笔记[toc]一、数据代理实现二、事件相关1.事件修饰符2.键盘事件 三、计算属性与监视1.计算属性-computed2.监视-watch 四、条件渲染1.v-show2.v-if,v-else-if 五、循环遍历1.v-for语法2.key的作用与原理 六、内置指令1.v-cloak指令&…

使用GitHub分享项目

一、注册账户 访问GitHub网站,点击“Sign up”按钮开始注册账号。然后按照提示输入你的用户名、电子邮箱地址和密码,提交成功后通过邮箱或你注册的手机号码进行验证身份。 二、上传项目 想分享自己的项目,首先需要在GitHub上创建一个新的仓库…

React + ts学习笔记

前提准备: 环境配置 安装node.js 官网安装:当前使用版本18.15.0 安装新的react应用: 运行命令新建react-app npx create-react-app study-ts-app当前版本: “react”: “^18.2.0”,“react-dom”: “^18.2.0”, 如果出现如…

优维低代码实践:第一个微应用

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。 优维…

vue-element-admin踩坑合集+完整包(项目源码 +依赖)

目录 Nodejs版本: 安装依赖时遇到的报错: 启动报错: vue-element-admin完整包地址: 在部署安装使用vue-element-admin开源项目的时候,会遇到各种各样的问题。 这里是本人遇到的一些坑。。。。。。 Nodejs版本&am…

【技术碎片】【Java】计算椭圆的外接矩形坐标

目录 前言原生实现(错误方法)精确实现(数学解)参考 前言 遇到一个需要计算一般椭圆(斜椭圆)的外接矩形坐标的问题,在此记录一下 已知椭圆的中心点坐标centerX centerY,椭圆的长轴&…

FPGA - 7系列 FPGA内部结构之CLB -02- CLB功能详解

前言 本文翻译自UG474第二章,主要对7系列FPGAs CLB结构进行详细介绍。这些细节对设计优化和验证很有帮助。 CLB 排列 CLB 在 7 系列 FPGA 中按列排列。 7 系列是基于 ASMBL架构提供的独特柱状方法的第四代产品。ASMBL 架构 Xilinx 创建了高级硅模块块 (ASMBL) 架…

【hello Linux】线程互斥

目录 1. 互斥量mutex 2. 互斥量的接口 2.1 初始化互斥量 2.2 销毁互斥量 2.3 互斥量加锁和解锁 2.4 互斥量实现原理探究 3. 可重入VS线程安全 4. 常见锁概念 5. 多线程抢票系统 Linux🌷 在介绍线程互斥前,我们先来看几个专业性术语: 【临界资…

边缘计算节点是啥?边缘计算与CDN有什么关系?一文带你了解边缘计算节点BEC

边缘计算节点是基于CDN边缘节点构建,覆盖全国大部分地区,三大运营商全覆盖。将算力下沉到各城市级节点,提供离用户更近的算力资源。 那么可能有些小伙伴会问,CDN也是就近为用户提供服务,边缘计算节点和CDN有什么不同呢…

时序数据利用EEMD_LSTM模型进行预测(Python编程,数据集和代码均在压缩包,解压缩后可以直接运行,数据可以替换为股票数据,交通流量等时序数据)

运行效果(为减少录屏时间,视频中epoch设置为30,改为100效果更佳):利用EEMD_LSTM模型对时序数据进行预测(视频中epoch为30,当为100 的时候效果更佳)_哔哩哔哩_bilibili 1.数据介绍:以每天为间隔的时序数据 …

达梦:dts工具迁移mysql decimal(65,30)的字段,报精度超出定义

本文旨在分享迁移MySQL decimal字段​​​​​​​时遇到“精度超出定义”问题时,如何理解MySQL和达梦对于decimal 等这一类数值数据类型。 1.了解达梦的数值数据类型定义 ​​​​​​​​​​​​​​NUMERIC 类型 语法:NUMERIC[(精度 [, 标度])]功…

HBase基础

HBase基础 一、初识HBase HBase 是一个面向列式存储的分布式数据库,其设计思想来源于 Google 的 BigTable 论文。HBase 底层存储基于 HDFS 实现,集群的管理基于 ZooKeeper 实现。HBase 良好的分布式架构设计为海量数据的快速存储、随机访问提供了可能&…

实验二 存储器管理

实验二 存储器管理 实验目的: 理解各类置换算法的原理和虚拟存储器管理的方法。 实验内容: 编程实现LRU算法或CLOCK/改进算法等置换算法(二选一),模拟实现虚拟存储器的地址变换过程。 实验步骤: 1…

C++之虚函数原理

对象数据和函数的存储方式 注意说的是对象。 C中的对象存储方式是 每个对象占用的存储空间只是该对象的数据部分(虚函数指针和虚基类指针也属于数据部分),函数属于公共部分。 虚函数表 虚函数是通过虚函数表实现的。 C实现虚函数的方法是…