Java中如何输入一个字符

Java中如何输入一个字符在一次编写代码时需要让程序接收一个字符,当我写出scanner.next时,我惊奇的发现,Scanner类中没有定义读取char的方法!!!Java中的扫描器类支持nextInt(),nextLong(),nextDouble()等。但是没有nextChar()。要读取char,我们使用next().charAt(0)。next()函数返回输入中的下一个标记/字符作为字符串,并且charAt(0)函数返回该字符串中的第一个字符。所以,我们有了思路:先创建一个Scanner对象,调用Scanner对象

大家好,又见面了,我是你们的朋友全栈君。

在一次编写代码时需要让程序接收一个字符,当我写出scanner.next时,我惊奇的发现,Scanner类中没有定义读取char的方法!!!

Java中的扫描器类支持nextInt(),nextLong(),nextDouble()等。
但是没有nextChar()。要读取char,我们使用next().charAt(0)。next()函数返回输入中的下一个标记/字符作为字符串,并且charAt(0)函数返回该字符串中的第一个字符。

所以,我们有了思路:
创建一个Scanner对象调用Scanner对象的next()方法获取控制台输入的字符串,返回的是一个String类型,因为没有nextChar()方法,所以调用String的charAt(0)方法获取第一个字符,这样一来,我们就输入了一个字符串

根据查找的资料以及知识储备,我总结了三条可以输入一个字符的方法:

import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
char c = scanner.next().charAt(0);	

这是目前为止最常用的方法,就是上面的黑字原理

import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
char c = scanner.next().toCharArray()[0];

这个用起来一般般,没有第一种好用,有些浪费资源,没有第一种简单

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
char c = (char)new BufferedReader(new InputStreamReader(System.in)).read();

这样也可以输入,但是!这情况用于没有scanner包时使用,很麻烦,需要导入很多东西,不建议使用,了解一下即可

综上所述,记住第一种方法,即可,我们来回顾一下第一种

import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
char c = scanner.next().charAt(0);	

问题得以解决!!!为自己鼓掌

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157130.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 网页刷流量软件开发中的困惑

    网页刷流量软件开发中的困惑客户要求:1.利用代理IP访问指定网页.并且点击指定位置2.代理IP获取方式最好为吸附.吸附我提供的地址.或许你有更好的方案最佳.3.如果能够控制代理访问量最好.比如我在指定的时间内10点-11点的时候需要1W的量.那么程序刷到1W的量就自动停止.4.可以用协议开发.但是协议一定要支持统计代码.也就是一定要让后台统计到具体数据.我的解决方案有二:。一是模…

  • 在Ubuntu16.04 安装RabbitVCS[通俗易懂]

    在Ubuntu16.04 安装RabbitVCS[通俗易懂]系统:Ubuntu16.041、添加源将rabbitvcs的添加到源里面。(首次操作会提示是否要添加到源里面,点击ENTER添加,Ctrl+C不添加),这里选择ENTER方便更新。sudoadd-apt-repositoryppa:rabbitvcs/ppa2、导入key如果第一步出现已经导入key的提示,此步骤可以省略sudoapt-keyadv–keyserverkeyserver.ubuntu.com–recv-keys34EF4A..

  • stringutils类_emptystring

    stringutils类_emptystring本文整理匯總了Java中com.baomidou.mybatisplus.toolkit.StringUtils.isNotEmpty方法的典型用法代碼示例。如果您正苦於以下問題:JavaStringUtils.isNotEmpty方法的具體用法?JavaStringUtils.isNotEmpty怎麽用?JavaStringUtils.isNotEmpty使用的例子?那麽恭喜您,這裏精選…

  • C++ 序列化和反序列化

    C++ 序列化和反序列化序列化序列化1、背景2、定义3、序列化评价指标4、序列化实例参考序列化1、背景1、在TCP的连接上,它传输数据的基本形式就是二进制流,也就是一段一段的1和0。2、在一般编程语言或者网络框架提供的API中,传输数据的基本形式是字节,也就是Byte。一个字节就是8个二进制位,8个Bit。二进制流和字节流本质上是一样的。对于我们编写的程序来说,它需要通过网络传输的数据是结构化的数据,比如,一条命令、一段文本或者一条消息。对应代码中,这些结构化的数据都可以用一个类或者一个结构体来表示。序

  • Java架构师尼恩_java的面试宝典

    Java架构师尼恩_java的面试宝典加架构师尼恩免费领!专题01:JVM面试题(卷王专供+史上最全+2022面试必备)-V2专题02:Java算法面试题(卷王专供+史上最全+2022面试必备)-V2专题03:Java基础面试题(卷王专供+史上最全+2022面试必备)-V2专题04:架构设计面试题(卷王专供+史上最全+2022面试必备)-V2专题05:Spring面试题__专题06:SpringMVC__专题07:Tomcat面试题(卷王专供+史上最全+2022面试必备)-V2专题0

  • 华为交换机关闭网口_关闭端口的命令 怎么开启华为交换机关闭端口,命令谁知道啊。…[通俗易懂]

    华为交换机关闭网口_关闭端口的命令 怎么开启华为交换机关闭端口,命令谁知道啊。…[通俗易懂]1025端口和UDP13137、138、445端口。想和你喝酒是假的,余生都想醉在你心头却是真的。怎样用命令关闭和开启80端口?电脑点击开始按钮,点击控制面板。遇见的一部分叫做缘分,另一部分,小编们叫它劫数,有命中注定就有在劫难逃。进入控制面板页面,点击windows防火墙。进入windows防火墙界面,点击高级设置。小编们都在淡化这段感情,你选择新欢,小编选择时间。进入防火墙高级管理…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号