gpt4 book ai didi

java - Java 中是否有一个函数允许您将字符串转换为 Int ,考虑到字符串中包含您想要忽略的字符?

转载 作者:行者123 更新时间:2023-11-30 06:09:54 24 4
gpt4 key购买 nike

我正在为大学类(class)做一个项目,我需要读取一个 int 的输入,后跟一个“+”(例如)“2+”的形式。

但是,当使用 nextInt() 时,它会抛出 InputMismatchException

解决方法是什么,因为我只想存储 int,但“用户”输入一个 int 后跟字符“+”?

我已经尝试了很多东西,包括 parseInt 和 valueOf,但似乎都不起作用。

我应该手动执行并逐个字符地分析吗?

预先感谢您的帮助。

编辑:只是为了清除它。用户输入的所有内容都是 Int 后跟一个 + 。该项目的主题是做一些以 Netflix 节目为主题的事情。该参数将用作电影的年龄分级。但是,我不想将整个字符串存储在电影中,因为这会使检查用户是否有资格观看某部电影变得更加困难。

更新:设法使子字符串进入 parseInt 工作

        String x = in.nextLine();
x = x.substring(0, x.length()-1);
int i = Integer.parseInt(x);

感谢您的帮助:)

最佳答案

尝试 Scanner#useDelimiter():

try(Scanner sc=new Scanner(System.in)){
sc.useDelimiter("\\D"); /* use non-digit as separator */
while(sc.hasNextInt()){
System.out.println(sc.nextInt());
}
}

输入:2+33-599

输出:

2
33
599

或与您当前的代码 x = x.substring(0, x.length()-1); 使其更精确,请尝试改为:x = x.replaceAll("\\D","");

关于java - Java 中是否有一个函数允许您将字符串转换为 Int ,考虑到字符串中包含您想要忽略的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50483498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com