Java里的键盘输入Scanner

news/2025/2/12 7:53:50/

初学Java时,我曾经遇到了许多萌新同样遇到的问题,C语言中提供输入的 scanf() 在Java是没有的,这让我困扰了一段时间,在查阅了一些资料后,学会了一点Java里的Scanner输入的方式,在这里浅浅为和我一样找不到Java里的输入方式的萌新们讲一下。

在Java中,我们可以使用Scanner 类来获取用户的输入。

Java 5中添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。相比于其他获取用户输入的方式,Scanner是非常方便的。

那么具体如何使用呢?下面介绍几种最为常用的的Scanner输入方式。

且看这一段代码:

import java.util.Scanner;public class Project {public static void main(String[] args) {Scanner sc = new Scanner(System.in);   //必不可少,构建Scanner对象int a = sc.nextInt();		    //读取int型输入并将其赋值给afloat b = sc.nextFloat();	    //读取float型输入并将其赋值给b}
}

这里需要强调的是:如果使用Scanner,必须在代码开头引用java.util.Scanner类。如下:

import java.util.Scanner;

还有此段也是必须不可少的:

 Scanner sc = new Scanner(System.in);   //必不可少,构建Scanner对象

它是固定的书写模式的:Scanner 你自己起的名字 = new Scanner(System.in);

比如上面我就是使用sc作为我的Scanner输入的名字进行操作的,那么如果我想用apple作为我的Scanner输入的名字,我该如何去写呢?如下:

import java.util.Scanner;public class Project {public static void main(String[] args) {Scanner apple = new Scanner(System.in);   //必不可少,构建Scanner对象int a = apple.nextInt();		    //读取int型输入并将其赋值给afloat b = apple.nextFloat();	    //读取float型输入并将其赋值给b}
}

只需将sc换成apple就行了,是不是很简单?嘿嘿。

————————————————分割线————————————————————————

还有一个比较重要的点:使用Scanner类输入字符串时需要注意nextLine()和next()的区别。

      nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。

      next()会自动消去有效字符前的空格,有效字符后的空格会被作为结束符,它只返回输入的字符,不能得到带空格的字符串。

比如如下的几行代码:使用nextLine()

import java.util.Scanner;public class Project {public static void main(String[] args) {Scanner apple = new Scanner(System.in);   //必不可少,构建Scanner对象String str = apple.nextLine();    //读取字符串型输入并将其赋值给strSystem.out.println(str);}
}

如果我输入:你好呀      欢迎来到Java世界!

那么它也会保留之中的空格进行输出,如下:

但是我如果使用next()

import java.util.Scanner;public class Project {public static void main(String[] args) {Scanner apple = new Scanner(System.in);   //必不可少,构建Scanner对象String str = apple.next();    //读取字符串型输入并将其赋值给strSystem.out.println(str);}
}

输入:你好     欢迎来到Java世界!

那么它会将有效字符后的空格当做结束符,如下:

由于作者水平有限,就写到这里了,希望有帮助到和作者一样的萌新们。我们一起努力吧!


http://www.ppmy.cn/news/831258.html

相关文章

什么是数码相机的动态范围

数字相机的动态范围   动态范围(Dynamic Range),最早是信号系统的概念,一个信号系统的动态范围被定义成最大不失真电平和噪声电平的差。而在实际用途中,多用对数和比值来表示一个信号系统的动态范围,对于…

线扫相机DALSA-变行高拍照

(Q有答疑)深度学习阿丘科技AIDI-猫狗分类 CamExpert在线阵模式中默认的Buffer设置是Fixed Length。在这种设置下,在一帧采集结束前所接收到的新的帧触发信号都会被忽略。在有的应用中,需要新一帧的外触发信号能够中断当前帧的采集,开始新的一帧。这需要将Buffer设为Variable…

CeleX5相机使用系列 - 相机的时间戳

本文首发于公众号:【事件相机】,CeleX5相机使用系列 - 相机的时间戳 CeleX5相机在使用时有多种时间戳,包括事件产生时间戳inPixelTimestamp,事件输出时间戳offPixelTimestamp,还有机器(例如ROS&#xff09…

Flir Blackfly S 工业相机:自动曝光配置及代码

Flir Blackfly S 工业相机:自动曝光配置及代码 自动曝光什么是目标灰度值(曝光值)如何辨别曝光值是否正确 自动曝光是工作流程如何设置自动曝光用SpinView配置自动曝光通过Spinnaker API 来配置自动曝光 自动曝光 自动曝光通过调整增益和曝光…

每日一个小技巧:今天告诉你拍照识别文字的软件有哪些

在现代社会里,手机已经成为了人们生活中必不可少的工具。它的功能众多,比如通讯、上网、拍照以及导航等,为我们的生活带来了许多便利。除此之外,手机还能帮助我们解决一些实际的问题,例如,当你需要识别图片…

线阵相机1k什么意思_相机上怪异的圆/线符号是什么意思?

线阵相机1k什么意思 If you’ve looked closely at your camera, you’ve probably noticed a strange circle/line symbol somewhere on it (you can see it above). It’s generally near the viewfinder but could be anywhere on the side. 如果您仔细看了一下相机&#xf…

wb在计算机知识里是什么意思,相机上的WB,ISO,S和EV是什么意思?

受欢迎的相机知识相机的单反是什么意思,回答数码相机上的字母对于主题提出的问题的含义: 白平衡: 白平衡调整, 按下此键后,使用转盘调整各种白平衡模式 根据场景光线的情况,设置适当的白平衡模式以获得准确的色彩,避免…

计算机中f代表几,相机中的F代表什么意思

新酷产品首次免费试用,许多高素质人才分享了他们独特的生活经验. 来新浪公开测试,体验各个领域中最前沿,最有趣和最有趣的产品〜!下载客户端并获得独家优惠! 本文来自佳游 小白用户一开始看到各种相机参数(例如最常见的F1.8和F2.8)时,常常会感到困惑. . . . 这是什么意思…