Exercício de JAVA, interface... Alguém pode me ajudar?

7 respostas
javaprogramação
F

Estou com esse exercício para resolver, da faculdade, mas não estou conseguindo entender muito bem. Estou lendo, pesquisando, mas não consegui até agora. Alguém pode me ajudar?

O exercício é seguinte:

Você trabalha na área de tecnologia da informação (TI) em uma escola. A secretária da instituição solicitou a você a criação de um recurso no sistema que permita inserir a nota obtida pelo aluno em determinada disciplina. A nota deve ser definida em um campo específico em formato decimal, porém retornando ao cliente, após inserção do valor, o resultado obtido.

Você deverá criar uma interface com três constantes:

  1. “Parabéns, você atingiu todos os indicadores de avaliação com excelência”;

  2. “Parabéns, você obteve aproveitamento satisfatório nos indicadores de avaliação”;

  3. “Você não atingiu o mínimo esperado para aprovação”.

Para atender ao pedido, você deverá:

  • utilizar Java na construção do código;

  • criar uma classe para implementar a interface;

  • criar uma variável na classe para receber a opção digitada pelo usuário;

  • utilizar o método showInputDialog() da classe JOptionPane para solicitar as opções;

  • criar uma estrutura de decisão para verificar a opção digitada e printar na tela o conceito e sua descrição;

  • criar um projeto denominado ConceitoAluno; dentro dele, criar um pacote chamado interfaces, e, dentro do pacote, a interface e a classe para implementá-la.

7 Respostas

S

O enunciado está bastante objetivo, o que exatamente você não entendeu?

Quando vejo um enunciado desses, fico desapontado que ainda existem professores insistindo em ensinar coisas erradas.
Usar interfaces para definir constantes é um Anti-Pattern.
Constantes você define em classes ou utiliza enum.

F

Então, eu não consegui encontrar a forma certa de adicionar o JOpition, fiz de diversas maneiras, e todas me trouxeram resultados com erro, ou que simplesmente não funcionavam.
Creio q seja pelo fato de n conseguir usar o switch case da forma devida em meio a esse exercício em específico.
É que agora não estou com meu notebook, mas jaja mando mais ou menos oq eu consegui fazer.

S

Consultou a documentação do JOptionPane?
Posta o seu código.

F
public interface Constantes {
    
    public String E = "Parabéns, você atingiu todos os indicadores de avaliação com excelência";
    public String S = "Parabéns, você obteve aproveitamento satisfatório nos indicadores de avaliação";
    public String M = "Você não atingiu o mínimo esperado para aprovação";

    

    }
import javax.swing.JOptionPane;

public class Geral implements Constantes{
    public static void main(String[] args) {
        Geral geral = new Geral();
        geral.executar();
    }

    public void executar() {
        String opcao = solicitarOpcaoDoUsuario();
        String conceito = avaliarConceito(opcao);
        apresentar(opcao, conceito);
    }
    
    private String avaliarConceito(String opcao) {
        return null;
    }



    private String solicitarOpcaoDoUsuario() {
        Object mensagem = "Selecione a nota do aluno";
        String titulo = "Entrada de dados";
        double[] valoresSelecionaveis = new double[] { 1,2,3,4,5,6,7,8,9,10 };
        Object valorInicialSelecionado = 0;
        final String opcao = JOptionPane.showMessageDialog(mensagem, titulo, valoresSelecionaveis, valorInicialSelecionado);
        return opcao;
    }

    private String avaliarConceito(int opcao) {
        switch (opcao) {
            case 10:
                return E;
            case 9:
                return E;
            case 8:
                return E;
            case 7:
                return S;
            case 6:
                return S;
            case 5:
                return M;
            case 4:
                return M;
            case 3:
                return M;
            case 2:
                return M;
            case 1:
                return M;
            case 0:
            default:
                return M;
        }
    }






        private void apresentar(String opcao, String conceito) {
            Object mensagem = "A nota do aluno é: " + opcao + "\n" + conceito;
            String titulo = "Resultado";
            int tipoMensagem = JOptionPane.INFORMATION_MESSAGE;
            JOptionPane.showMessageDialog(null, mensagem, titulo, tipoMensagem);
        
    }

}

Por enquanto foi isso que eu consegui fazer, mas o erro “The method avaliarConceito(int) from the type Geral is never used locallyJava(603979894)” e o “JOptionPane is not applicable for the arguments (Object, String, double[], Object)” estão persistindo.

L

Sou graduanda em design e por alguma razão a faculdade quer que eu entenda linguagem de programação quando eu deveria criar interface. Estou com uma questão EXATAMENTE IGUAL e não faço ideia do que seja, alguém me ajuda pfvr :')

R

Cria um tópico aqui no fórum com a sua dúvida, só pra não misturar as coisas.

Se puder colocar no tópico o que você já aprendeu na sua matéria, vai ser uma bom ponto de partida pra qm começar a te ajudar

P

final String opcao = JOptionPane.showMessageDialog(mensagem, titulo, valoresSelecionaveis, valorInicialSelecionado);

Quando vc invoca o método showMessageDialog da classe JOptionPane, n tem retorno, o método é void, pois será apenas um aviso para o usuário, e não uma decisão, onde deveria escolher um Sim/Não, que nesse caso, teria que ser showConfirmDialog, e o retorno será um int e não String.
O primeiro argumento, é a referencia ao componente Pai, ou seja, o JFrame, mas vc pode passar como null também, a diferença é que se passar o JFrame, a mensagem será exibida centralizada nele, e já null, ao centro da tela, sem nenhuma referencia.

Criado 7 de dezembro de 2022
Ultima resposta 16 de out. de 2023
Respostas 7
Participantes 5