Iniciei recentemente os estudos em java, e fiz uma calculadora simple, que no inicio só funcionava pelo cmd (usavava args[]), depois que aprendi a inserir valores(Scanner), consigo executa-la pelo intelliJ, porém agora da um erro quando tento pelo prompt, gostaria de entender o porque, acredito ser em relação ao argumento passado, mas ainda não consegui resolver:
SEGUE O CÓDIGO:
import java.util.Scanner;
public class Calculate {
/* Opereções para inserir:
* somar
* subtrair
* vezes
* dividir
*/
public static void main(String[] args) {
int x;
int y;
String resultado;
Scanner scanner = new Scanner(System.in);
System.out.println("Digite o primeiro valor: ");
x = scanner.nextInt();
Scanner scanner1 = new Scanner(System.in);
System.out.println("Digite o segundo valor: ");
y = scanner.nextInt();
Scanner scanner2 = new Scanner(System.in);
System.out.println("Digite a operação que deseja: ");
args[0] = scanner2.nextLine();
if(args[0].equals("somar")) {
sun(x, y);
}else if(args[0].equals("subtrair")){
minus(x,y);
}else if (args[0].equals("vezes")) {
multiply(x, y);
}else if (args[0].equals("dividir")){
division(x,y);
}else {
System.out.println(" ERRO :Nenhuma Instrução Definida!");
}
}
static void sun(int x, int y){
System.out.println("A soma dos números inseridos é igual a: " + (x + y));
}
static void minus(int x, int y){
System.out.println("A subtração dos números inseridos é igual a: " + (x - y));
}
static void multiply(int x, int y){
System.out.println("A multiplicação dos números inseridos é igual a: " + (x * y));
}
static void division(int x, int y){
System.out.println("A divisão dos números inseridos é igual a: " + (x / y));
}
}
pelo prompt ele permite que insira os valores e escolha a operação, mas quando dou enter ele da o erro:
"Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 at Calculate.main(Calculate.java:28)"
PS: lembrei de compilar o arquivo pelo prompt antes de executa-lo
Se alguem puder me ajudar a entender o erro, eu ficarei grato.
Abraço