java - 线程中的异常 "main"java.lang.NumberFormatException :

标签 java parsing exception bufferedreader parseint

我正在 java 中执行我的代码,但每次都会收到数字异常错误。请帮忙

class TestClass {
public static void main(String args[]) throws IOException {
  BufferedReader inp = new BufferedReader (new InputStreamReader(System.in));
  String input = inp.readLine();
  //Scanner sc = new Scanner(System.in);
  StringTokenizer stk = new StringTokenizer(input);
  int n = Integer.parseInt(stk.nextToken());
  int q = Integer.parseInt(stk.nextToken());
  int [] arr = new int[n];
  int [] st = new int [n];
  for(int i =0;i<n;i++){
    arr[i] = Integer.parseInt(stk.nextToken());
     st[i] = fib(arr[i]);

  }  
while(q>0){
    int l = Integer.parseInt(stk.nextToken());
    int r = Integer.parseInt(stk.nextToken());
     System.out.println(gcd(st,l,r));
    q--;
}

我不断收到错误消息:

Exception in thread "main" java.lang.NumberFormatException: For input string: "3 2" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at TestClass.main(Main.java:14)

最佳答案

尝试使用 split 方法代替:

而不是:

StringTokenizer stk = new StringTokenizer(input);

int n = Integer.parseInt(stk.nextToken());

int q = Integer.parseInt(stk.nextToken());

用途:

String in[] = input.split("");

int n = Integer.parseInt(in[0]);

int q = Integer.parseInt(in[1]);

关于java - 线程中的异常 "main"java.lang.NumberFormatException :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44470847/

相关文章:

c++ - 使用智能卡签名时指定给 RtlFreeHeap 的地址无效 (C++)

java - 线程 "main"java.lang.NoClassDefFoundError : MyFile Caused by: java. lang.ClassNotFoundException 中出现异常:

java - 部署 Thrift Java 服务实现的最佳方式是什么?

python - Pandas - 基于解析其他日期列添加新的日期列

c++ - 捕获未处理的异常

java - 同一行中的空 catch block

java - 获取文件子路径的最佳方法

java - 打印前 N 个素数

java - 错误: cannot find symbol of Parser

c - 在多行字符串中循环遍历行的好方法是什么?