Ir ao conteúdo
  • Cadastre-se

Java Crie um programa para armazenar as notas de um aluno em diversas matérias. Para


Posts recomendados



O que eu fiz:



package provaJava;

import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;


public class Principal {

    public static void main(String[] args) {
   
     
        //instanciar um objeto Aluno e incluir suas várias disciplinas. 
        Disciplina disciplina = new Disciplina();
        
        List<Disciplina> disciplinas = new ArrayList<Disciplina>();
        disciplinas.add( disciplina );
        
        Aluno aluno = new Aluno();
        aluno.setDisciplina(disciplinas);
        
        ((Aluno)aluno).setNomeAluno(JOptionPane.showInputDialog(null, "Digite o nome do Aluno: "));
        //((Aluno)aluno).setRa(JOptionPane.showInputDialog(null, "Digite o RA do aluno: "));
        
        //disciplina.setNomeDaDisciplina(JOptionPane.showInputDialog(null, "Digite o nome da sua máteria: "));
        disciplina.setNomeDaDisciplina(JOptionPane.showInputDialog(null, "Digite o nome da sua máteria: "));
        //((Disciplina)disciplina).setNota1(Integer.parseInt(JOptionPane.showInputDialog(null, "Qual a sua 1° nota nesta materia: ")));    
        //((Disciplina)disciplina).setNota2(Integer.parseInt(JOptionPane.showInputDialog(null, "Qual a sua 2° nota nesta materia: ")));
    //    ((Disciplina)disciplina).setFaltas(JOptionPane.showInputDialog(null, "Quantidade de faltas: "));
        
        String opcao = JOptionPane.showInputDialog(null, "Deseja adicionar outra materia? " + "\n" + "[1] Sim" + "\n" + "[2] Não");
        
        
        
        while(opcao.equals ("1")) {
            //disciplina.setNomeDaDisciplina(JOptionPane.showInputDialog(null, "Digite o nome da sua máteria: "));
            disciplina.setNomeDaDisciplina(JOptionPane.showInputDialog(null, "Digite o nome da sua máteria: "));
             opcao = JOptionPane.showInputDialog(null, "Deseja adicionar outra materia? " + "\n" + "[1] Sim" + "\n" + "[2] Não");
             
        } if(opcao.equals("2")){
            JOptionPane.showMessageDialog(null, disciplina.getNomeDaDisciplina());
            
        }else {
            JOptionPane.showMessageDialog(null, "OPÇÃO INVALIDA! Encerrando o programa...");
            return;
        }
    }
    }
    

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@_Thiago_Rodrigues Olá. Seja bem-vindo! Desculpa novamente ter q importuná-lo rs... Mas, para que possamos te dar uma resposta mais precisa, seria necessário ver o código da classe Aluno e Disciplina.

Seria possível, para você, postar o código dessas classes?

Entendemos que é novato e pode ficar tranquilo pois esse tipo de coisa faz parte mesmo. Comigo também foi assim nas primeiras postagens hehe

Na verdade, o nosso objetivo, como o foco do fórum aqui é o aprendizado, é de apresentar ao autor do tópico uma resposta mais adequada possível

Espero que entenda e que não se incomode com isso!

Não queremos, de modo algum, desencorajar você e, esperamos, que essa seja apenas o primeiro de outros vários tópicos que venha a criar aqui conosco :thumbsup:  

 

Obs: Eu presumo que na classe Aluno tenha um atributo do tipo String nome e os métodos getters e setters e na classe Disciplina a mesma coisa, mas a dúvida que fica é se você definiu esses métodos de modo adequado ou mesmo tenha criado algum outro método em alguma dessas classes que pode vir a ser útil para esse projeto

Mas não sabemos muito a seu respeito. De repente, seja necessário ajustar algo em uma dessas classes, ou, até, criar uma nova funcionalidade (método) em alguma delas, para que o resultado final fique melhor e mais de acordo com o que você deseja  :)

 

Atualizando:

Uma resposta para o tópico está sendo apresentada abaixo!

 

Link para o comentário
Compartilhar em outros sites

@_Thiago_Rodrigues Olá. É o seguinte: Eu não programo em Java Swing. Quanto a parte de interface gráfica em Java já comecei direto com o JavaFX

Fiz o exercício só no console mesmo, partindo do princípio que é necessário solicitar ao aluno o nome da matéria e a nota nessa matéria e no final listar as matérias e notas. Estou certo?

Só que não podemos passar o código pronto para você aqui. Isso vai contra os princípios do fórum e tampouco te ajudaria em alguma coisa, pois aí você faria o exercício na base do copia/cola e não aprenderia nada!

Os passos que segui foram esses (Se entendi direito o enunciado)

1. Solicitar o nome do aluno

2. Solicitar o nome da matéria que ele deseja adicionar

3. Solicitar a nota nessa matéria

4. Criar um método na classe Aluno que chamei da adicionarDisciplina. Esse método recebe dois parâmetros, uma String para as matérias e um double que seriam as notas

Criei duas listas

Uma do tipo String cujo nome é disciplinas

private List<String> disciplinas = new ArrayList<>();

E a outra do tipo double que seriam para as notas:

private List<Double> notas = new ArrayList<>();

 Assim, no método adicionarDisciplina estou adicionando na lista referente a disciplinas o nome da disciplina e na lista referente a notas adiciono a nota:

public void adicionarDisciplina(String nomeDisciplina, double nota) {
    disciplinas.add(nomeDisciplina);
    notas.add(nota);
}

Esse método estou chamando no main após ter o nome da matéria e a sua respectiva nota fornecida pelo usuário

Feito isso, é só listar as disciplinas que foram adicionadas na lista e também as notas:

public void listarDisciplinas() {

    System.out.println("\nLista de Disciplinas e Notas:");

    System.out.println();

    for (int i = 0; i < disciplinas.size(); i++) {
        System.out.println(disciplinas.get(i) + " -> Nota " + notas.get(i));
    }
}

Obs: Cara, acho que já te passei informação demais agora rs...

Como já pôde perceber,  eu estou mostrando os resultados no console mesmo. Se você quiser depois passar para o Swing isso aí seria contigo. Só o que procurei aqui é te passar os passos para resolver a questão

Vê se ajuda agora, ok?

Qualquer dúvida é só perguntar!

 

Obs: Só que tô fazendo uma mistura "legal" de disciplina com matéria. Teria que ajustar isso!

Link para o comentário
Compartilhar em outros sites

@_Thiago_Rodrigues  Olá. De acordo com a maneira como estou dando uma dica de como o exercício pode ser resolvido, não tem necessidade de você postar o seu código da classe Aluno e Disciplina, com pedi acima :thumbsup:

Nessa maneira que apresentei de resolver o exercício estou trabalhando apenas com a classe Aluno e a classe principal (com o método main)

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...