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

【Java基础】用Scanner类获取控制台输入

目录

  • Scanner类是什么
    • 导入并创建
    • 读取一个数
    • 读取字符串
    • 读取一行
    • 读取直到空白字符为止
    • 读取多个数直到^z
    • 读取一个字符

Scanner类是什么

在Java中,Scanner 是一个非常有用的类,用于从各种输入源(如键盘、文件或其他输入流)读取数据。它属于 java.util 包,并且提供了简单的方法来解析基本类型和字符串。本文将介绍如何用Scanner从控制台获取输入

导入并创建

在Java中使用Scanner类,首先需要导入java.util包。

import java.util.Scanner;

要从控制台获取用户输入,可以创建一个Scanner对象,并将System.in作为参数传入,起名为sc

Scanner sc = new Scanner(System.in);

读取一个数

  • next[数据类型]():读取下一个整数
int num1 = sc.nextInt();
long num2 = sc.nextLong();
float f1 = sc.nextFloat();
double f2 = sc.nextDouble();

读取字符串

读取一行

  • nextLine():读取读取下一行字符串
String str = sc.nextLine();

读取直到空白字符为止

  • next(): 读取下一个字符串(以空白字符为分隔符)。
    以下代码可以用来获取3个由空格分隔的字符串
for(int i=0;i<3;i++){String str = sc.next();System.out.println(str);
}

输入
dad mom son
输出
dad
mom
son

读取多个数直到^z

  • hasNext():可以检查是否有下一个输入项
  • hasNextLine():可以检查是否有下一行输入
  • hasNext[数据类型]():检查下一个输入项是否可以解析为特定类型如hasNextInt(),hasNextDouble()
while(sc.hasNext()){int num = sc.nextInt();System.out.println(num);
}

读取一个字符

要在Java中实现输入一个字符并输出,可以使用 Scanner 类中的nextLine()方法来读取用户输入的一行,然后使用 charAt 方法从输入的字符串中提取第一个字符。

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String input = scanner.nextLine();char character = input.charAt(0);System.out.println(character);scanner.close();}
}

相关文章:

【Java基础】用Scanner类获取控制台输入

目录 Scanner类是什么导入并创建读取一个数读取字符串读取一行读取直到空白字符为止读取多个数直到^z读取一个字符 Scanner类是什么 在Java中&#xff0c;Scanner 是一个非常有用的类&#xff0c;用于从各种输入源&#xff08;如键盘、文件或其他输入流&#xff09;读取数据。…...

微服务seata解析部署使用全流程

官网地址&#xff1a; Seata 是什么&#xff1f; | Apache Seata 1、Seata术语 用来管理分布式事务&#xff0c;由阿里巴巴出品。 【1、TC (Transaction Coordinator) - 事务协调者】 用来维护事务的&#xff0c;包括主事务和分支事务。 【2、TM (Transaction Manager) - …...

Linux性能调优技巧

目录 前言1. CPU性能优化1.1 调整CPU调度策略1.2 合理分配多核处理 2. 内存性能优化2.1 调整内存分配策略2.2 缓存和分页优化 3. 磁盘I/O性能优化3.1 使用合适的I/O调度器3.2 磁盘分区和文件系统优化 4. 网络性能优化4.1 优化网络参数4.2 调整网络拥塞控制算法 5. 系统监控与优…...

python 实现sha1算法

sha1算法介绍 SHA-1&#xff08;Secure Hash Algorithm 1&#xff0c;安全散列算法1&#xff09;是一种密码散列函数&#xff0c;由美国国家安全局&#xff08;NSA&#xff09;设计&#xff0c;并由美国国家标准技术研究所&#xff08;NIST&#xff09;发布为联邦数据处理标准…...

ejb-ref元素

ejb-ref 是用于在 Java EE (现在称为 Jakarta EE) 中引用 Enterprise JavaBeans (EJB) 的一个元素&#xff0c;主要用于定义和配置 SLEE (Service Logic Execution Environment) 组件中的 EJB 依赖关系。通过这个引用&#xff0c;SBB (Service Building Block) 可以轻松地访问和…...

Perl 子程序(函数)

Perl 子程序&#xff08;函数&#xff09; Perl 是一种高级、解释型、动态编程语言&#xff0c;广泛用于CGI脚本、系统管理、网络编程、 finance, bioinformatics, 以及其他领域。在Perl中&#xff0c;子程序&#xff08;也称为函数&#xff09;是组织代码和重用代码块的重要方…...

ElasticSearch 备考 -- Snapshot Restore

一、题目 备份集群下的索引 task&#xff0c;存储快照名称为 snapshot_1 二、思考 这个涉及的是集群的备份&#xff0c;主要是通过创建快照&#xff0c;涉及到以下2步骤 Setp1&#xff1a;注册一个备份 snapshot repository Setp2&#xff1a;创建 snapshot 可以通过两种方…...

【Linux】进程替换、命令行参数及环境变量(超详解)

目录 进程替换 替换函数的含义 命令行参数 环境变量 PATH 进程替换 我们先看代码&#xff1a; 1 #include<stdio.h>2 #include<unistd.h>3 int main()4 {5 printf("process...begin!\n");6 7 execl("/usr/bin/ls","ls"…...

MySQL事务日志—redo日志介绍

MySQL事务日志—redo日志 事务有4种特性&#xff1a; 原子性、一致性、隔离性和持久性。 那么事务的四种特性到底是基于什么机制实现? 事务的原子性、一致性由事务的 undo 日志事务的隔离性由锁机制和MVCC实现。事务的持久性由redo 日志来保证。 两类日志概述&#xff1a;…...

告别音乐小白!字节跳动AI音乐创作工具,让你一键变作曲家!

还在羡慕别人能创作动听的音乐&#xff1f;五音不全的你&#xff0c;也梦想着谱写属于自己的乐章&#xff1f;现在&#xff0c;机会来了&#xff01;字节跳动推出了一款AI音乐创作工具——抖音推出的海绵音乐&#xff0c;它能让你轻松一键创作音乐&#xff0c;即使是“音乐小白…...

空心正方形图案

KiKi学习了循环&#xff0c;BoBo老师给他出了一系列打印图案的练习&#xff0c;该任务是打印用“*”组成的“空心”正方形图案。 输入描述&#xff1a; 多组输入&#xff0c;一个整数(3~20)&#xff0c;表示输出的行数&#xff0c;也表示组成正方形边的“ * ”的数量。 输出描述…...

【EXCEL数据处理】000020 案例 保姆级教程,附多个操作案例。EXCEL使用表格。

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【EXCEL数据处理】000020 案例 保姆级教程&#xff0c;附多个操作案例。…...

虾皮Shopee大数据面试题及参考答案

Cube 表性能优化,还有其他优化的方法吗? Cube 表性能优化可以从多个方面入手。 一方面,可以优化数据存储格式。选择合适的存储格式能够减少存储空间占用,提高数据读取速度。例如,Parquet 格式是一种高效的列式存储格式,它可以按列进行数据压缩,大大减少磁盘 I/O 和内存占…...

重学SpringBoot3-集成Redis(六)之消息队列

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-集成Redis&#xff08;六&#xff09;之消息队列 1. 什么是发布/订阅&#xff08;Pub/Sub&#xff09;&#xff1f;2. 场景应用3. Spring Boot 3 整合 R…...

LeetCode 134 Gas Station 解题思路和python代码

题目&#xff1a; There are n gas stations along a circular route, where the amount of gas at the ith station is gas[i]. You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from the ith station to its next (i 1)th station. You …...

服务攻防

171、一次完整的 HTTP 请求过程 域名解析 --> 发起 TCP 的 3 次握手 --> 建立 TCP 连接后发起 http 请求 --> 服务器 响应 http 请求&#xff0c;浏览器得到 html 代码 --> 浏览器解析 html 代码&#xff0c;并请求 html 代码中的资源&#xff08;如 js、 css…...

leetcode 力扣算法题 快慢指针 双指针 19.删除链表的倒数第n个结点

删除链表的倒数第N个结点 题目要求题目示例解题思路从题目中的已知出发思考寻找目标结点条件转换核心思路 需要注意的点改进建议 完整代码提交结果 题目要求 给你一个链表&#xff0c;删除链表的倒数第n个结点&#xff0c;并且返回链表的头结点。 题目示例 示例 1&#xff1…...

网络五层模型:物理层、数据链路层、网络层、传输层、应用层,分别解决了什么问题?

网络五层模型&#xff08;也称为TCP/IP模型的简化版本&#xff09;将网络通信过程分为五个层次&#xff0c;每一层都解决了特定的问题。以下是每一层的详细解释及其解决的问题&#xff1a; 1. 物理层&#xff08;Physical Layer&#xff09; 解决的问题&#xff1a;数据的物理…...

OpenCV视频I/O(18)视频写入类VideoWriter之初始化 VideoWriter 对象的函数open()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 初始化或重新初始化视频编写器。 该方法打开视频编写器。参数与构造函数 VideoWriter::VideoWriter 中的相同。 cv::VideoWriter::open() 函数用…...

大数据处理从零开始————4.认识HDFS分布式文件系统

1.分布式文件系统HDFS 1.1 认识HDFS 当单台服务器的存储容量和计算性能已经无法处理大文件时&#xff0c;分布式文件系统应运而生。什么是分布式系统&#xff0c;分布式系统是由多个独立的计算机或节点组成的系统&#xff0c;这些计算机通过网络连接&#xff…...

【实用小程序】超轻量级文件上传下载中心 (File Download Server)

站内源码及jar包下载 一、项目概述 文件下载中心一个基于 Java 内置 HTTP 服务器(com.sun.net.httpserver)构建的轻量级文件管理服务。它零第三方依赖,单 JAR 包即可运行,适合在内网环境或临时场景中快速搭建文件共享站点。 你的团队需要临时共享一批日志文件或交付物,…...

显存又爆了?移动云弹性KV缓存:让你告别“显存焦虑”

上下文越长&#xff0c;显存越吃紧对话轮次越多&#xff0c;延迟越明显并发量一高&#xff0c;服务就卡顿……随着AI大模型向超长上下文、高并发、多轮交互深度演进&#xff0c;AI推理所需缓存的内容呈指数级增长。显存容量的需求爆炸与显存采购的高昂成本&#xff0c;使得超长…...

Automa实战:除了循环数字,这两种更高效的网页数据抓取方法你知道吗?(附避坑指南)

Automa进阶实战&#xff1a;突破循环数字的网页抓取高效方法论 当你在深夜盯着屏幕上那个不断转圈的Automa工作流&#xff0c;第37次尝试抓取动态加载的电商商品列表却依然失败时&#xff0c;或许该重新思考自动化抓取的本质了。循环数字就像用螺丝刀当锤子——在某些场景下能勉…...

Outfit字体技术实现:9种字重的几何无衬线字体架构设计与应用实践

Outfit字体技术实现&#xff1a;9种字重的几何无衬线字体架构设计与应用实践 【免费下载链接】Outfit-Fonts The most on-brand typeface 项目地址: https://gitcode.com/gh_mirrors/ou/Outfit-Fonts 在现代数字产品设计中&#xff0c;字体选择往往决定了界面的视觉层次…...

不止于安装:在 Ubuntu 20.04 上为 GAMMA 配置完整的 InSAR 科研环境(含 Python 依赖)

不止于安装&#xff1a;在 Ubuntu 20.04 上为 GAMMA 配置完整的 InSAR 科研环境&#xff08;含 Python 依赖&#xff09; 当你在Ubuntu 20.04上成功安装GAMMA后&#xff0c;可能会发现这仅仅是开始。真正的挑战在于构建一个完整、稳定的科研环境&#xff0c;让InSAR数据处理流程…...

3D打印螺纹强度提升实战指南:Fusion 360 FDM螺纹优化完整方案

3D打印螺纹强度提升实战指南&#xff1a;Fusion 360 FDM螺纹优化完整方案 【免费下载链接】Fusion-360-FDM-threads 项目地址: https://gitcode.com/gh_mirrors/fu/Fusion-360-FDM-threads 你是否在3D打印螺纹连接件时经常遇到螺纹断裂、装配困难或打印失败的问题&…...

如何在PUBG中实现90%的压枪稳定性提升?揭秘罗技鼠标宏的隐藏技巧

如何在PUBG中实现90%的压枪稳定性提升&#xff1f;揭秘罗技鼠标宏的隐藏技巧 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 你是否曾在《绝地求…...

嵌入式Linux SPI转CAN-FD扩展实战:基于i.MX8MP与MCP2518FD

1. 项目概述&#xff1a;当开发板的CAN口不够用时在嵌入式产品开发中&#xff0c;尤其是工业控制、汽车电子或机器人领域&#xff0c;CAN总线因其高可靠性和实时性被广泛应用。飞凌嵌入式的OKMX8MP-C开发板基于强大的i.MX8M Plus处理器&#xff0c;原生提供了两路CAN-FD总线&am…...

边缘节点就地智能处理方案

边缘节点就地智能处理方案 第1章项目概述 1.1项目背景 随着数字中国建设迈入深度落地与规模化赋能的全新阶段,2026年作为国家数据要素价值释放关键年、算力网络规模化落地之年以及“十五五”规划开局之年,全国各行业数字化、数智化转型正式从信息化补短板阶段迈入提质增效、深…...

Claude Code用户如何迁移至Taotoken解决账号与Token限制问题

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Claude Code用户如何迁移至Taotoken解决账号与Token限制问题 对于依赖Claude Code进行编程辅助的开发者而言&#xff0c;直接使用官…...