Ajuda com Vetores e Laços de Repetição
Eu to fazendo um sistema bem simples de cadastro de nota pra escola, o problema é que na questão 3, ele pega apenas duas notas da materia atual, e ignora demais notas e materias anteriores
package rafa.bianca.agna.projeto;
import javax.swing.JOptionPane;
public class ProjetoCadastro {
static int preenchidos = 0;
public static void main(String[] args) {
String[] materias = new String[200];
for (int i = 0; i <= 199; i++) {
materias[i] = "";
}
double[] notas = new double[200];
for (int i = 0; i < 200; i++) {
notas[i] = 0;
}
/* Questão 1 */
for (;;) {
int op = primeira_tela();
if (op == 1) {
for (int i = 0; i <= 199; i++) {
if (materias[i].equals("")) {
materias[i] = JOptionPane.showInputDialog("Disciplina");
notas[i] = Double.parseDouble(JOptionPane.showInputDialog("Nota"));
JOptionPane.showMessageDialog(null, "Disciplina cadastrada com sucessso!");
preenchidos++;
break;
}
}
}
/* Questão 2 */
if (op == 2) {
int remover = Integer.parseInt(JOptionPane.showInputDialog(
"Indique a qual posição em que se encontra" + " a disciplina que deseja remover!"));
int i = remover;
materias[i] = "";
notas[i] = 0;
JOptionPane.showMessageDialog(null, "Disciplina removida com sucessso!");
}
/* Questão 3 */
if (op == 3) {
int aux = 1;
String x= "";
String buffer= "";
for (int i = 0; i < preenchidos; i++) {
if(i==0) {
buffer = "";
}else {
buffer = materias[i-1];
}
if(materias[i].equals(buffer)) {
x = "Disciplina: " + materias[i] + "\n" + "Nota" + " " + aux + ":" + " " + notas[i];
}else {
x = "Disciplina: " + materias[i] + "\n" + "Nota" + " " + aux + ":" + " " + notas[i];
}
aux++;
}
if (aux == 1) {
JOptionPane.showMessageDialog(null, "Essa disciplina não foi cadastrada!");
} else {
JOptionPane.showMessageDialog(null, x);
}
}
/* Questão 4 */
if (op == 4) {
int aux = 1;
String disci = JOptionPane.showInputDialog("Digite o nome da disciplina desejada!");
String x = "Disciplina: " + disci;
for (int i = 0; i < 199; i++) {
if (materias[i].equals(disci)) {
x = x + "\n" + "Nota" + " " + aux + ":" + " " + notas[i];
aux++;
}
}
if (aux == 1) {
JOptionPane.showMessageDialog(null, "Essa disciplina não foi cadastrada!");
} else {
JOptionPane.showMessageDialog(null, x);
}
}
}
}
public static int primeira_tela() {
return Integer.parseInt(
JOptionPane.showInputDialog("CADASTRO DE DISCIPLINA" + "\n" + "\n 1 - Adicionar" + "\n 2 - Remover"
+ "\n 3 - Consultar todos" + "\n 4 - Consultar disciplina" + "\n" + "\n - Escolha uma opção:"));
}
}Discussão (1)
Carregando comentários...