为什么输入数字不报错呢

为什么输入数字不报错呢

下面这段代码我是想输入字符  为什么我输入数字却不报错呢

import java.util.Scanner;
public class ceshi {
    Scanner sc=new Scanner(System.in);
    public static void main(String[] args) {
        System.out.println("请输入一个字符");
        ceshi ce=new ceshi();
        System.out.println(ce.StringCheck());
    }
    public String StringCheck() {
        while(true) {
            try {
                String input = sc.next();
                return input;
            }catch (Exception e) {
                System.out.println("输入错误,请输入字符类型!");
                sc.next();
                continue;
            }
        }}
}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,

1.nextInt()方法可以接收到整数

2.nextFloat()方法可以接收到小数,并将小数转换到单精度小数

3.nextDouble()方法可以接收到小数并将小数转化为双精度小数

4.next()方法可以接收到所有数据并将数据转换为字符串,但是不能有空格,空格后面的字符接收不到,所以同学输入数字不报错,会将数字转换为字符串。

祝学习愉快!

  • 起風了3592092 提问者 #1

    如果我想 输入字符串或字符正常输入  然后如果输入数字或小数就会报错

    该怎么写呢


    2022-07-21 09:47:34
  • 好帮手慕小黑 回复 提问者 起風了3592092 #2

    同学你好,就目前的同学所学的课程阶段来讲,是实现不了同学所说的”输入字符串或字符正常输入  然后如果输入数字或小数就会报错”,但是如果同学掌握正则表达式,同学可以通过正则表达式实现,实现方法为在next的()中输入正则表达式。

    祝学习愉快!

    2022-07-21 11:38:02
hor5 2022-07-21 00:56:54
String是字符串,你输入数字也相当于字符串当然不会报错。
下载视频          
  • hor5 #1

    另外你要是输入字符char,输入语句应该是:char input = sc.next().CharAt(0); 这样写才是一个字符。

    下载视频          
    2022-07-21 01:05:37
  • hor5 #2

    弄错了把c敲成大写,应该charAt(0)才对。

    2022-07-21 01:10:22
  • 提问者 起風了3592092 回复 hor5 #3

    哥 输入字符串正常 然后如果输入数字就会报错

    该怎么写呢

    2022-07-21 09:07:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师