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