我知道我问这个问题很笨,但我想通过期中考试
我遇到的许多问题之一是 ""编写一条 if-else 语句,如果变量 x 大于 100,则将 20 赋给变量 y。否则,应将 0 赋给变量 y。"
我的看起来像这样
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
为 x 输入一个数字:线程“主”java.util.regex.PatternSyntaxException 中出现异常:索引 525 附近未封闭的字符类
最佳答案
而不是这样做:
x = keyboard.nextInt(x);
做:
x = keyboard.nextInt();
如果将参数传递给 nextInt
,它被解释为输入整数的基数。
我猜测,对于某些基数,Java 生成的用于提取整数的正则表达式不正确,但需要调试 JDK 才能确定。
关于java - Scanner.nextInt(x) 抛出 PatternSyntaxException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26750042/