Estoy intentando tomar la entrada en forma específica con primera línea que contiene número de consultas y siguiendo líneas que contienen cada una cuatro enteros separados por espacios. Traté de escribir como el siguiente código, pero estoy consiguiendo el error "no puede encontrar símbolo". Por ejemplo :-
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-- ;
}
}
}
Usted está utilizando Integer.parseInt(String[0])
con String[0]
cuando se debe utilizar s[0]
y así sucesivamente con cada uno de los otros. Se llama a matrices usando variableName[index]
.
Además de llamar solveProb
que sea necesario para que sea public static void
o crear una Object
de las clases Solution
con Solution sol = new Solution()
y decir que es consol.solveProb(VALUES)
EDIT: Para fijar el NumberFormatException
complemento scan.nextLine();
antes de que el while
bucle de este modo:
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);
}
Es necesario para llegar a la siguiente línea después de usar nextInt
ya que está intentando llamar nextLine
y leerlo sin tener que pasar a la siguiente línea en primer lugar.
Mantenga el interior del bucle de la misma, no quite la otra nextLine
.