Ajuda, criando tabela de nota | matriz 5x3

Bom, esse é meu primeiro tópico e de antemão eu deixo-vos o aviso que sou leigo na questão da programação em linguagem Java, e quero tirar um tempo agora pra estudar, já que na faculdade tô tendo que aprender isso e o professor apenas passa os exercicios deixando a explicação por cima…

Ele recentemente passou essa atividade

Crie um algoritmo que o usuário preencha uma matriz de 5x3, onde a primeira coluna, será o código do aluno, a segunda coluna, será a nota 1 do aluno e a última coluna será a nota 2 do aluno.
Crie uma segunda matriz de 5x3 onde a primeira coluna será o código do aluno, que deve ser igual à coluna do 1 da primeira tabela, coluna 2 será o nome do aluno e coluna 3 a situação do aluno, que se a média da nota 1 e nota 2 for igual ou maior 7, deve receber aprovado, senão, reprovado.

e a questão é que não faço ideia de como se fazer isso, eu até tentei mas não saiu tanto como o esperado, porém a tentativa deu um resultado…
meu código ficou assim

     package exercicio01;
import java.util.Scanner;

public class Exercicio01 {
    
    public static void main(String[] args) {
        Scanner ent = new Scanner(System.in);
        int codigo, nota1, nota2;
        int media, i, contAluno = 0;
        
        for(i = 0; i < 2; i++){
            
            contAluno++;
            
            System.out.print("Aluno " + contAluno + ", digite seu código aqui: ");
            codigo = ent.nextInt();
            
            // recebe a 1º nota
            System.out.println("Aluno " + contAluno + ", digite sua 1ª nota");
            nota1 = ent.nextInt();
            
            // recebe a 2º nota
            System.out.println("Aluno " + contAluno + ", digite sua 2ª nota");
            nota2 = ent.nextInt();
            
            // calcula a média
            media = (nota1 + nota2) / 2;
            System.out.print(codigo+"|"+ nota1+"|" + nota2 +"|" + media + "|");
            
            // mostra a nota do aluno
            if( (media >= 0) && (media <= 4) ){
                System.out.println("Reprovado");
            } else if(media <= 5){
                System.out.println("Reprovado");
            } else if(media <= 6){
                System.out.println("Reprovado");
            } else if(media <= 7){
                System.out.println("Aprovado");
            } else if(media <= 8){
                System.out.println("Aprovado");
            } else if(media <= 10){
                System.out.println("Aprovado");
            }
        }       
    }
}

E tem a questão de que nem se quer eu fiz a matriz 5x3 ): e precisa-se de duas… queria uma luz pra mim ter uma ideia de como se faz, assim eu estudaria por cima e avançaria um pouquinho mais em java…

int qtdDeLinhas = 5;
int qtdDeColunas = 3;

Object[][] primeiraMatriz = new Object[qtdDeLinhas][qtdDeColunas];
Object[][] segundaMatriz = new Object[qtdDeLinhas][qtdDeColunas];

for (int linha = 0; linha < qtdDeLinhas; linha += 1) {
  primeiraMatriz[linha][0] = código;
  segundaMatriz[linha][0] = primeiraMatriz[linha][0];
  segundaMatriz[linha][1] = nome;
  primeiraMatriz[linha][1] = nota1;
  primeiraMatriz[linha][2] = nota2;
  segundaMatriz[linha][2] = situação;
  System.out.println("Linha: " + linha);
  System.out.println("Primeira Matriz: " + primeiraMatriz[linha][0] + " " + primeiraMatriz[linha][1] + " " + primeiraMatriz[linha][2]);
  System.out.println("Segunda Matriz: " + segundaMatriz[linha][0] + " " + segundaMatriz[linha][1] + " " + segundaMatriz[linha][2]);
}
1 curtida

Eu entendi bem a ideia, até que demais por ter uma noção boa em lógica de programação
mas aonde eu implementaria esse seu código dentro do meu?!

Depois de:

public static void main(String[] args) {
    Scanner ent = new Scanner(System.in);
    int codigo, nota1, nota2;
    int media, i, contAluno = 0;

fiz a adição do código, porém tava dando erro e eu tive que atribuir valores
int codigo = 0,nome = 0, nota1 = 0, nota2 = 0, situação = 0;
pra que funcionasse e rodasse, porém ele rodou assim

Linha: 0
Primeira Matriz: 0 0 0
Segunda Matriz: 0 0 0
Linha: 1
Primeira Matriz: 0 0 0
Segunda Matriz: 0 0 0
Linha: 2
Primeira Matriz: 0 0 0
Segunda Matriz: 0 0 0
Linha: 3
Primeira Matriz: 0 0 0
Segunda Matriz: 0 0 0
Linha: 4
Primeira Matriz: 0 0 0
Segunda Matriz: 0 0 0
Aluno 1, digite seu código aqui:

e ai vinha em seguida executando meu codigo normal como antes ):

falta:

for (int linha = 0; linha < qtdDeLinhas; linha += 1) {
        contAluno = linha + 1;
        System.out.print("Aluno " + contAluno + ", digite seu código aqui: ");
        codigo = ent.nextInt();
        
        // recebe a 1º nota
        System.out.println("Aluno " + contAluno + ", digite sua 1ª nota");
        nota1 = ent.nextInt();
        
        // recebe a 2º nota
        System.out.println("Aluno " + contAluno + ", digite sua 2ª nota");
        nota2 = ent.nextInt();

        // preenche a matriz
        primeiraMatriz[linha][0] = código;
1 curtida

ficou assim o código por inteiro dando aquele resultado que mencionei:

 package exercicio01;
import java.util.Scanner;

public class Exercicio01 {
    
    public static void main(String[] args) {
        Scanner ent = new Scanner(System.in);
        int codigo = 0,nome = 0, nota1 = 0, nota2 = 0, situação = 0;
        int media, i, contAluno = 0;
        int qtdDeLinhas = 5;
        int qtdDeColunas = 3;

        Object[][] primeiraMatriz = new Object[qtdDeLinhas][qtdDeColunas];
        Object[][] segundaMatriz = new Object[qtdDeLinhas][qtdDeColunas];

            for (int linha = 0; linha < qtdDeLinhas; linha += 1) {
                primeiraMatriz[linha][0] = codigo;
                segundaMatriz[linha][0] = primeiraMatriz[linha][0];
                segundaMatriz[linha][1] = nome;
                primeiraMatriz[linha][1] = nota1;
                primeiraMatriz[linha][2] = nota2;
                segundaMatriz[linha][2] = situação;
                System.out.println("Linha: " + linha);
                System.out.println("Primeira Matriz: " + primeiraMatriz[linha][0] + " " + primeiraMatriz[linha][1] + " " + primeiraMatriz[linha][2]);
                System.out.println("Segunda Matriz: " + segundaMatriz[linha][0] + " " + segundaMatriz[linha][1] + " " + segundaMatriz[linha][2]);
}
        
        for(i = 0; i < 2; i++){
            
            contAluno++;
            
            System.out.print("Aluno " + contAluno + ", digite seu código aqui: ");
            codigo = ent.nextInt();
            
            // recebe a 1º nota
            System.out.println("Aluno " + contAluno + ", digite sua 1ª nota");
            nota1 = ent.nextInt();
            
            // recebe a 2º nota
            System.out.println("Aluno " + contAluno + ", digite sua 2ª nota");
            nota2 = ent.nextInt();
            
            // calcula a média
            media = (nota1 + nota2) / 2;
            System.out.print(codigo+"|"+ nota1+"|" + nota2 +"|" + media + "|");
            
            // mostra a nota do aluno
            if( (media >= 0) && (media <= 4) ){
                System.out.println("Reprovado");
            } else if(media <= 5){
                System.out.println("Reprovado");
            } else if(media <= 6){
                System.out.println("Reprovado");
            } else if(media <= 7){
                System.out.println("Aprovado");
            } else if(media <= 8){
                System.out.println("Aprovado");
            } else if(media <= 10){
                System.out.println("Aprovado");
            }
        }       
    }
}

Vc tinha que “mesclar” os código, está imprimindo 0 0 0 porque vc fez int codigo = 0,nome = 0, nota1 = 0, nota2 = 0, situação = 0;

depois de:

for (int linha = 0; linha < qtdDeLinhas; linha += 1) {

inserir:

    contAluno = linha + 1;
    System.out.print("Aluno " + contAluno + ", digite seu código aqui: ");
    codigo = ent.nextInt();
    
    // recebe a 1º nota
    System.out.println("Aluno " + contAluno + ", digite sua 1ª nota");
    nota1 = ent.nextInt();
    
    // recebe a 2º nota
    System.out.println("Aluno " + contAluno + ", digite sua 2ª nota");
    nota2 = ent.nextInt();
1 curtida

Opa, fiz isso e dei uma editadinha no codigo ficando assim:

 package exercicio01;
import java.util.Scanner;

public class Exercicio01 {
    
    public static void main(String[] args) {
        Scanner ent = new Scanner(System.in);
        int codigo ,nome = 0, nota1, nota2, situação = 0;
        int media, i, contAluno = 0;
        int qtdDeLinhas = 5;
        int qtdDeColunas = 3;

        Object[][] primeiraMatriz = new Object[qtdDeLinhas][qtdDeColunas];
        Object[][] segundaMatriz = new Object[qtdDeLinhas][qtdDeColunas];

            for (int linha = 0; linha < qtdDeLinhas; linha += 1) {
                contAluno = linha + 1;
    System.out.print("Aluno " + contAluno + ", digite seu código aqui: ");
    codigo = ent.nextInt();
    
    // recebe a 1º nota
    System.out.println("Aluno " + contAluno + ", digite sua 1ª nota");
    nota1 = ent.nextInt();
    
    // recebe a 2º nota
    System.out.println("Aluno " + contAluno + ", digite sua 2ª nota");
    nota2 = ent.nextInt();
                primeiraMatriz[linha][0] = codigo;
                segundaMatriz[linha][0] = primeiraMatriz[linha][0];
                segundaMatriz[linha][1] = nome;
                primeiraMatriz[linha][1] = nota1;
                primeiraMatriz[linha][2] = nota2;
                segundaMatriz[linha][2] = situação;
                System.out.println("Linha: " + linha);
                System.out.println("Primeira Matriz: " + primeiraMatriz[linha][0] + " " + primeiraMatriz[linha][1] + " " + primeiraMatriz[linha][2]);
                System.out.println("Segunda Matriz: " + segundaMatriz[linha][0] + " " + segundaMatriz[linha][1] + " " + segundaMatriz[linha][2]);
}
        
        for(i = 0; i < 2; i++){
            
            contAluno++;
            
            System.out.print("Aluno " + contAluno + ", digite seu código aqui: ");
            codigo = ent.nextInt();
            
            // recebe a 1º nota
            System.out.println("Aluno " + contAluno + ", digite sua 1ª nota");
            nota1 = ent.nextInt();
            
            // recebe a 2º nota
            System.out.println("Aluno " + contAluno + ", digite sua 2ª nota");
            nota2 = ent.nextInt();
            
            // calcula a média
            media = (nota1 + nota2) / 2;
            System.out.print(codigo+"|"+ nota1+"|" + nota2 +"|" + media + "|");
            
            // mostra a nota do aluno
            if( (media >= 0) && (media <= 4) ){
                System.out.println("Reprovado");
            } else if(media <= 5){
                System.out.println("Reprovado");
            } else if(media <= 6){
                System.out.println("Reprovado");
            } else if(media <= 7){
                System.out.println("Aprovado");
            } else if(media <= 8){
                System.out.println("Aprovado");
            } else if(media <= 10){
                System.out.println("Aprovado");
            }
        }       
    }
}

imprimindo:
Aluno 1, digite seu código aqui: 309149
Aluno 1, digite sua 1ª nota
10
Aluno 1, digite sua 2ª nota
8
Linha: 0
Primeira Matriz: 309149 10 8
Segunda Matriz: 309149 0 0
Aluno 2, digite seu código aqui:

Consegui seguir a ideia que quero, tenho as 2 matrizes
Porém na primeira falta a média ):
e na segunda falta o nome e se foi aprovado ou não(Porém parando pra reparar que ele imprimiou 0 e 0, sendo assim só eu fazer uma alteração pra ele substituir o 0 pelo nome e o outro 0 pela condição, aprovado ou não né…)

mas a questão da média na primeira matriz como ficaria?

perfeitoo, consegui já arrumar a questão da média

Aluno 1, digite seu código aqui: 14851
Aluno 1, digite sua 1ª nota
10
Aluno 1, digite sua 2ª nota
6
Linha: 0
Primeira Matriz: 14851 10 6 8
Segunda Matriz: 14851 0 0
Aluno 2, digite seu código aqui:

agora só falta eu entender como inserir o nome e a questão da situação do aluno no lugar dos ‘0’