首页 > 解决方案 > 我正在尝试以带有分隔空格的特定形式输入

问题描述

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

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-- ;
        }



    }
}

标签: java

解决方案


你在应该使用Integer.parseInt(String[0])的时候使用 with等等。您使用.String[0]s[0]variableName[index]

另外要打电话solveProb,你要么需要制作它,要么用它public static void创建一个Object类并SolutionSolution sol = new Solution()它调用它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并阅读它而不先进入下一行。

保持循环的内部相同,不要删除另一个nextLine


推荐阅读