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’