为了账号安全,请及时绑定邮箱和手机立即绑定

在Java中将输入作为字符串并限制用户不输入整数

在Java中将输入作为字符串并限制用户不输入整数

慕村9548890 2021-11-24 16:14:06
我想在 Java 中将输入作为字符串并使用 try catch 限制用户不输入整数。import java.util.*;public class trycatch {     public static void main(String args[]) {         Scanner sc=new Scanner(System.in);        String a;         System.out.println("\n\nEnter the name");         try {             a=sc.nextLine();             System.out.println("You name is "+a);         }         catch(InputMismatchException b) {             System.out.println("There is problem with your input");         }     } }
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

测试是否是int一个异常,如果不是则抛出异常


a=sc.nextLine(); 

Integer.valueOf(a); // throws NumberFormatException


// this is number so go to top of loop

continue;

} catch(NumberFormatException b) { 

        System.out.println("There is NO problem with your input");

        // we can use `a` out side the loop 


查看完整回答
反对 回复 2021-11-24
?
萧十郎

TA贡献1815条经验 获得超13个赞

使用该技术尝试解析用户作为 int 输入的内容。如果转换成功,这意味着他们输入了一个整数,你应该抛出一个异常,因为你说你不希望他们输入一个整数(我理解这意味着你不希望他们只输入一个数字序列)

我没有给你确切的答案/为你编写代码,因为你显然在学习 Java,这是一个学术练习。你的大学/学校对教授/评估我的编程能力不感兴趣,他们对你的感兴趣,所以我为你做你的工作对你没有任何价值:)

如果您在实施我的建议时遇到困难,请编辑您的问题以包含您改进的代码,我们可以再次提供帮助

作为旁注,我建议您将错误消息做得更好,以“出现问题”对用户来说,没有什么比被告知存在问题但不知道问题是什么或如何解决更令人沮丧的了。


查看完整回答
反对 回复 2021-11-24
?
心有法竹

TA贡献1866条经验 获得超5个赞

使用正则表达式可以最好地解决此问题,但由于您的要求是使用 try catch,因此您可以使用以下方法


public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    String a = null;


    System.out.println("\n\nEnter the name");


    try {

        // try to get Integer if it is number print invalid input(because we

        // don't want number)

        sc.nextInt();

        System.out.println("There is problem with your input");

    }

    //getting exception means input was not an integer

    // if input was not an Integer then try to read that as string and print

    // the name

    catch (InputMismatchException b) {

        a = sc.next();

        System.out.println("You name is " + a);

    }

}


查看完整回答
反对 回复 2021-11-24
  • 3 回答
  • 0 关注
  • 200 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信