我正在尝试以空格分隔的特定形式输入

时间:2019-06-19 17:28:48

标签: java

我正在尝试以特定形式输入,第一行包含查询数量,第二行包含四个由单个空格分隔的整数。我试图写像下面的代码,但出现错误“找不到符号”。 例如:-

1
1 1 3000 100000000
2
5 5 5000 100020000
7 7 2444 21412414124
import java.io.*;
import java.util.*;

public class Solution {

    public void solveProb(int a, int d, int n, int x) {
        System.out.println(a+d + n + x);
    }

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int q = scan.nextInt();
        while (q > 0) {
            String[] s = scan.nextLine().split(" ");
            solveProb(Integer.parseInt(s[0]), Integer.parseInt(s[1]), Integer.parseInt(s[2]), Integer.parseInt(s[3]));
            q-- ;
        }



    }
}

1 个答案:

答案 0 :(得分:2)

Integer.parseInt(String[0])String[0]一起使用时,s[0]variableName[index]一起使用,依此类推。您使用solveProb调用数组。

另外要调用public static void,您需要使其成为Object或使用Solution创建类Solution sol = new Solution()的{​​{1}}并使用{{1 }}

编辑:要修复sol.solveProb(VALUES),请在NumberFormatException循环之前添加scan.nextLine();,如下所示:

while

在使用 public static void main(String[] args) { Scanner scan = new Scanner(System.in); int q = scan.nextInt(); scan.nextLine(); while (q > 0) { String[] s = scan.nextLine().split(" "); solveProb(Integer.parseInt(s[0]), Integer.parseInt(s[1]), Integer.parseInt(s[2]), Integer.parseInt(s[3])); q-- ; } } public static void solveProb(int a, int d, int n, int x) { System.out.println(a+d + n + x); } 之后,您需要进入下一行,因为您试图调用nextInt并阅读它,而没有先进入下一行。

将循环的内部保持相同,请勿删除其他nextLine