首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scanner.nextInt(x)抛出PatternSyntaxException

Scanner.nextInt(x)抛出PatternSyntaxException
EN

Stack Overflow用户
提问于 2014-11-05 05:03:25
回答 2查看 686关注 0票数 0

我很了解我的要求,但请允许我通过期中考试

我遇到的许多问题之一是“编写一个if-else语句,如果变量x大于100,则将20赋值给变量y。否则,它应该将0赋值给变量y。“

我的看上去像这样

代码语言:javascript
复制
import java.util.Scanner;

public class ifelseprac1 {

    public static void main(String[] args) {
        int y;
        int x=0;

        Scanner keyboard = new Scanner(System.in);

        System.out.print("Enter a number for x: ");
        x=keyboard.nextInt(x);

        if (x>100)
            y=20;           
        else 
            y=0;
    }
}

我得到的错误代码是

配置: ifelseprac1 - JDK版本1.8.0_25

Enter a number for x: Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 525

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-05 05:09:43

而不是做:

代码语言:javascript
复制
x = keyboard.nextInt(x);

做:

代码语言:javascript
复制
x = keyboard.nextInt();

如果将一个参数传递给nextInt,它将被解释为输入整数的基数。

我猜想,对于某些radices,Java生成的提取整数的正则表达式是不正确的,但是需要调试JDK才能确定。

票数 4
EN

Stack Overflow用户

发布于 2014-11-05 05:11:42

应该是这样的:

代码语言:javascript
复制
x = keyboard.nextInt();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26750042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档