Olá pessoal sou novo aqui no fórum e no mundo do Java e estou com um problema em um código(exercício).
O código pede as dimensões de uma matriz, então devo digitar as linhas, e apos isso ele deve passar a diagonal principal e por fim dizer quantos números negativos ela possui.
Logo que eu digito a primeira linha (ex: 10_ 3_ 24) o erro ocorre: Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 1
Algo n está certo nisto ai. Ou sua mensagem ao usuário ou seu algoritmo.
int[n][n] é DUAS DIMENSÕES. Está perguntando ao usuário quantas dimensões quer, mas sempre cria com 2.
funcionou!
o curso que estou fazendo de orientação a objetos usa o c#, mas por já ter começado no java eu estou tentando aplicar os conceitos nele. O professor diz no vídeo para usar o split para separar por espaços, mas no java então não é necessário, estou certo?
Neste caso não seria necessário, o next ou qualquer next* pega o próximo elemento até encontrar espaço ou final de linha. O nextLine retorna a String até o final da linha.
System.out.println("Next");
Scanner next = new Scanner("a b c");
System.out.println(next.next()); // retorna até espaço ou fim de linha
System.out.println(next.next()); // retorna até espaço ou fim de linha
System.out.println(next.next()); // retorna até espaço ou fim de linha
System.out.println("NextLine");
Scanner nextLine = new Scanner("a b c");
String entrada = nextLine.nextLine(); // retorna a linha inteira
System.out.println(entrada);
String[] split = entrada.split(" "); // split
System.out.println(split[0]);
System.out.println(split[1]);
System.out.println(split[2]);