Como resolver esse exercício que até o momento parece não ser muito fácil de resolver?
23 respostas
java
1
111aaa
Exercício que até o momento parece não ser muito fácil de resolver
Escreva uma classe para representar um Aluno. Adicione atributos
relacionados às características de um Aluno, como nome, matricula,
curso que está matriculado, nome de 3 disciplinas que está
cursando e as notas dessas 3 disciplinas. Desenvolva um método
para verificar se o aluno está aprovado (nota maior ou igual a 7) em
uma determinada disciplina. Escreva um programa para testar essa
classe, que pede as informações do aluno ao usuário e ao final
informa o nome das disciplinas, mostra as notas e mostra se o aluno
foi aprovado ou não.
O primeiro passo seria identificar as entidades presentes. Eu enxergo duas entidades que podem ser facilmente transformadas em classes: Aluno e Curso Aluno: matricula, nome, curso// curso deve ser do tipo Curso Curso: nome, nota
Além dos atributos que devem ser privados, crie métodos públicos(get e set) para ambas as classes. Crie ainda um método público getMedia na classe Aluno.
Use os métodos da classe Scanner para ler os dados e o system.out.print para iimprimir tanto os pedidos de dados quanto o resultado.
1
111aaa
Escreva um programa para testar essa
classe, que pede as informações do aluno ao usuário e ao final
informa o nome das disciplinas, mostra as notas e mostra se o aluno
foi aprovado ou não.
Como posso criar uma classe que testa outra classe?
1
111aaa
Valeuuuuuu
F
fventurajr1 like
Na verdade você pode criar apenas uma classe Aluno com os atributos nome, matrícula, curso, disciplina1, disciplina2 e disciplina3 e os métodos para ler(get) e gravar(set) nos seus atributos. Dentro da mesma classe você cria um método estático de nome main que vai instanciar a classe Aluno, carregar os seus dados, calcular a média e informar se passou ou não de ano.
public static void main(String[] args) {
if(aluno.getMedia()>=7.0){
system.out.println(aluno.getNome()+" passou no curso de "+aluno.getCurso());}else{if(aluno.getMedia()<5.0){
system.out.println(aluno.getNome()+" foi reprovado no curso de "+aluno.getCurso());}else{system.out.println(aluno.getNome()+" ficou em recuperação no curso de "+aluno.getCurso());}
}
1
111aaa
Estou tentando fazer algo com base no seu exemplo, tipo queria pegar esses dados via entrada e daí fazer esse treco acontecer ( aviso: exemplo errado )
importjava.util.Scanner;publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);// // declarações de variavéis// DoubleadicioneDisciplina1,adicioneDisciplina2,adicioneDisciplina3,adicioneNota1,adicioneNota2,adicioneNota3;IntinformeMatricula;StringinformeNome;// // usando e imprimindo as variavéis// system.out.println("Adicione a matricula: "+informeMatricula);informeMatricula=sc.nextLine();// system.out.println("Informe o nome: "+informarNome);informeNome=sc.nextLine();//system.out.println("Adicione o curso: "+adicionarCurso);adicionarCurso=sc.nextLine();// system.out.println("Adicione a disciplina 1: "+adicioneDisciplina1);adicioneDisciplina1=sc.nextLine();system.out.println("Adicione a nota 1: "+adicioneNota1);adicioneNota1=sc.nextLine();// system.out.println("Adicione a disciplina 2: "+adicioneDisciplina2);adicioneDisciplina3=sc.nextLine();system.out.println("Adicione a nota 2: "+adicioneNota2);adicioneNota2=sc.nextLine();// system.out.println("Adicione a disciplina 3: "+adicioneDisciplina3);adicioneDisciplina3=sc.nextLine();system.out.println("Adicione a nota 3: "+adicioneNota3);adicioneNota3=sc.nextLine();// // // Atributos// Alunoaluno=newAluno();aluno.setMatricula=informeMatricula;// "111"; aluno.setNome=informeNome;// "fulano";aluno.setCurso=adicioneCurso;// "Disciplina 1";aluno.setDisciplina1=adicioneDisciplina1;// "Disciplina 2"; aluno.setNota1=adicioneNota1;// 10.0;aluno.setDisciplina2=adicioneDisciplina2;// "Disciplina 3"; aluno.setNota2=adicioneNota2;// 4.5;aluno.setDisciplina3=adicioneDisciplina3;// "Disciplina 4"; aluno.setNota3=adicionarNota3;// 6.5;if(aluno.getMedia()>=7.0){system.out.println(aluno.getNome()+" passou no curso de "+aluno.getCurso());}else{if(aluno.getMedia()<5.0){system.out.println(aluno.getNome()+" foi reprovado no curso de "+aluno.getCurso());}else{system.out.println(aluno.getNome()+" ficou em recuperação no curso de "+aluno.getCurso());}}
1
111aaa
pessoal fiz desta maneira ( aviso: exemplo errado )
importjava.util.Scanner;publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);IntinformarMatricula;DoubleinformarNota1,informarNota2,informarNota3;StringinformarNome,informarCurso,informarDisciplina1,informarDisciplina2,informarDisciplina3;// // Atributos// Alunoaluno=newAluno();System.out.println("Adicione a matricula: "+informarMatricula);informarMatricula=sc.nextInt();aluno.setMatricula=informarMatricula;System.out.println("Informe o nome: "+informarNome);informarNome=sc.nextLine();aluno.setNome=informarNome;System.out.println("Adicione o curso: "+informarCurso);informarCurso=sc.nextLine();aluno.setCurso=informarCurso;System.out.println("Adicione a disciplina 1: "+informarDisciplina1);informarDisciplina1=sc.nextLine();aluno.setDisciplina1=informarDisciplina1;System.out.println("Adicione a nota 1: "+informarNota1);informarNota1=sc.nextDouble();aluno.setNota1=informarNota1;System.out.println("Adicione a disciplina 2: "+informarDisciplina2);informarDisciplina2=sc.nextLine();aluno.setDisciplina2=informarDisciplina2;System.out.println("Adicione a nota 2: "+informarNota2);informarNota2=sc.nextDouble();aluno.setNota2=informarNota2;system.out.println("Adicione a disciplina 3: "+informarDisciplina3);informarDisciplina3=sc.nextLine();aluno.setDisciplina3=informarDisciplina3;system.out.println("Adicione a nota 3: "+informarNota3);informarNota3=sc.nextDouble();aluno.setNota3=informarNota3;media=((informarNota1+informarNota2+informarNota3)/3);switch(media){case"informarDisciplina1"if(aluno.getMedia()>=7.0){System.out.println(aluno.getNome()+" passou na curso disciplina "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}else{if(aluno.getMedia()<7.0){System.out.println(aluno.getNome()+" foi reprovado no curso de "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}break;case"informarDisciplina2"if(aluno.getMedia()>=7.0){System.out.println(aluno.getNome()+" passou na curso disciplina "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}else{if(aluno.getMedia()<7.0){System.out.println(aluno.getNome()+" foi reprovado no curso de "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}break;case"informarDisciplina3"if(aluno.getMedia()>=7.0){System.out.println(aluno.getNome()+" passou na curso disciplina "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}else{if(aluno.getMedia()<7.0){System.out.println(aluno.getNome()+" foi reprovado no curso de "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}break;}}}
1
111aaa
O que é o erro?
Main.java:89: error: class, interface, or enum expected
1
111aaa
Estou tentando resolver esse problema ( aviso: exemplo errado )
Escreva uma classe para representar um Aluno. Adicione atributos relacionados às características de um Aluno, como nome, matricula, curso que está matriculado, nome de 3 disciplinas que está cursando e as notas dessas 3 disciplinas. Desenvolva um método
para verificar se o aluno está aprovado (nota maior ou igual a 7) em uma determinada disciplina. Escreva um programa para testar essa classe, que pede as informações do aluno ao usuário e ao final informa o nome das disciplinas, mostra as notas e mostra se o aluno
foi aprovado ou não.
importjava.util.Scanner;publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);IntinformarMatricula;DoubleinformarNota1,informarNota2,informarNota3;StringinformarNome,informarCurso,informarDisciplina1,informarDisciplina2,informarDisciplina3;// // Atributos// Alunoaluno=newAluno();publicIntgetMatricula(){System.out.println("Adicione a matricula: "+informarMatricula);informarMatricula=sc.nextInt();aluno.setMatricula=informarMatricula;returnmatricula;}publicStringgetNome(){System.out.println("Informe o nome: "+informarNome);informarNome=sc.nextLine();aluno.setNome=informarNome;returnnome;}publicStringgetCurso(){System.out.println("Adicione o curso: "+informarCurso);informarCurso=sc.nextLine();aluno.setCurso=informarCurso;returncurso;}publicStringgetDisciplina1(){System.out.println("Adicione a disciplina 1: "+informarDisciplina1);informarDisciplina1=sc.nextLine();aluno.setDisciplina1=informarDisciplina1;returnvalorunitario;}publicDoublegetNota2(){System.out.println("Adicione a nota 1: "+informarNota1);informarNota1=sc.nextDouble();aluno.setNota1=informarNota1;returnvalorunitario;}publicStringgetDisciplina2(){System.out.println("Adicione a disciplina 2: "+informarDisciplina2);informarDisciplina2=sc.nextLine();aluno.setDisciplina2=informarDisciplina2;returnvalorunitario;}publicDoublegetNota2(){System.out.println("Adicione a nota 2: "+informarNota2);informarNota2=sc.nextDouble();aluno.setNota2=informarNota2;returnvalorunitario;}publicStringgetDisciplina3(){System.out.println("Adicione a disciplina 3: "+informarDisciplina3);informarDisciplina3=sc.nextLine();aluno.setDisciplina3=informarDisciplina3;returndisciplina3;}publicDoublegetNota3(){System.out.println("Adicione a nota 3: "+informarNota3);informarNota3=sc.nextDouble();aluno.setNota3=informarNota3;returnnota3;}media=((informarNota1+informarNota2+informarNota3)/3);publicvoidsetDisciplina1(DoubleinformarNota1){if(aluno.getMedia()>=7.0){System.out.println(aluno.getNome()+" passou na curso disciplina "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}else{if(aluno.getMedia()<7.0){System.out.println(aluno.getNome()+" foi reprovado no curso de "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}this.informarNota1=informarNota1;}publicvoidsetDisciplina2(DoubleinformarNota2){if(aluno.getMedia()>=7.0){System.out.println(aluno.getNome()+" passou na curso disciplina "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}else{if(aluno.getMedia()<7.0){System.out.println(aluno.getNome()+" foi reprovado no curso de "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}this.informarNota2=informarNota2;}publicvoidsetDisciplina3(DoubleinformarNota3){if(aluno.getMedia()>=7.0){System.out.println(aluno.getNome()+" passou na curso disciplina "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}else{if(aluno.getMedia()<7.0){System.out.println(aluno.getNome()+" foi reprovado no curso de "+aluno.setDisciplina1()+" no curso de "+aluno.getCurso());}this.informarNota3=informarNota3;}publicvoidsetMatricula(IntMatricula){this.nome=nome;}publicvoidsetNome(StringNome){this.nome=nome;}publicvoidsetDisciplina1(StringDisciplina1){this.disciplina1=disciplina1;}publicvoidsetDisciplina2(StringDisciplina2){this.disciplina2=disciplina2;}publicvoidsetDisciplina3(StringDisciplina3){this.disciplina3=disciplina3;}publicvoidsetNota1(Doublenota1){this.nota3=nota3;}publicvoidsetNota2(Doublenota2){this.nota2=nota2;}publicvoidsetNota3(Doublenota3){this.nota3=nota3;}}}}
Você criou os métodos e atributos da classe Aluno fora dela, aliás, você nem a criou.
publicclassAluno{// construtor padrãopublicAluno(){}// construtor com parâmetrospublicAluno(intmatricula,Stringnome,...doublenota3){this.matricula=matricula;...this.nota3=nota3;}
Depois que eu li no enunciado que a aprovação é por disciplina e não para o curso e assim não precisa ser calculada a média.
Você também está assumindo que a construção switch - case é uma estrutura de repetição, além de mistura uma variável numérica media com uma string "informarDisciplina1"
Mais ou menos. O nome que você colocar dentro do cabeçalho do construtor é o nome que você vai usar no corpo dele para atribuir o valor. Se forem iguais, você deve usar o recurso do this, senão usa os dois sem prefixá-los.
Ouvocêatribuitodososvaloresusandooconstrutoroucriagettersesettersparacadaelementoqueprecisesercarregado:<strong>publicclassAluno(){</strong><strong>privateintinformarMatricula;</strong><strong>publicAluno(intmatricula,…){</strong><strong>informarMatricula=matricula;</strong><strong>…</strong><strong>}</strong><strong>publicvoidsetMatricula(intmatricula){</strong><strong>informarMatricula=matricula;</strong><strong>}</strong><strong>}</strong>Aídentrodomain…vocêlêaentradaedepoissetanoobjetoinstanciadoaluno:<em><strong>intmatricula;system.out.print("Informe a matrícula: ");matricula=sc.nextInt();aluno.setMatricula(matricula);</strong></em>
1
111aaa
Valeuuuu
1
111aaa
Valeuuu
1
111aaa
Obrigado pelas informações.
1
111aaa
Agora nenhuma, aprendi algumas coisas que vão me ajudar a resolver mais problemas Java
1
111aaa
Fiz deste outro modo, mas continua com erro
importjava.util.Scanner;importjava.io.PrintStream;publicstaticvoidmain(String[]args){privatestaticfinalPrintStreamecho=System.out;Scannersc=newScanner(System.in);publicclassAluno(){Alunoaluno=newAluno();privateintMatricula;privateStringNome,Curso,Disciplina1,Disciplina2,Disciplina3;privatedoubleNota1,Nota2,Nota3;publicvoidsetMatricula(intmatricula){echo.print(" Matricula : ");aluno.setMatricula(sc.nextInt());}publicvoidsetNome(Stringnome){echo.print(" Nome : ");aluno.setinformarNome(sc.nextLine());}publicvoidsetCurso(Stringcurso){echo.print(" Curso : ");aluno.setCurso(sc.nextLine());}publicvoidsetMatricula(Stringdisciplina1){echo.print(" Disciplina 1 : ");aluno.setDisciplina1(sc.nextLine());}publicvoidsetNota1(DoubleNota1){echo.print(" Nota 1 : ");aluno.setaNota1(sc.nextDouble());if(aluno.getinformarNota1()>=7.0){echo.println(aluno.getNome()+" passou na disciplina"+aluno.setinformarDisciplina1()+aluno.setinformarDisciplina2()+aluno.setinformarDisciplina3()" no curso de "+aluno.getCurso());}if(aluno.getinformarNota1()<7.0){echo.println(aluno.getNome()+" foi reprovado na disciplina"+aluno.setinformarDisciplina1()+" do curso de "+aluno.getCurso());}}publicvoidsetDisciplina2(Stringdisciplina2){echo.print(" Disciplina 2 : ");aluno.setDisciplina2(sc.nextLine());}publicvoidsetNota2(DoubleNota2){echo.print(" Nota 2 : ");aluno.setaNota2(sc.nextDouble());if(aluno.getinformarNota2()>=7.0){echo.println(aluno.getNome()+" passou na disciplina "+aluno.setinformarDisciplina1()+aluno.setinformarDisciplina2()+aluno.setinformarDisciplina3()" no curso de "+aluno.getCurso());}if(aluno.getinformarNota2()<7.0){echo.println(aluno.getNome()+" foi reprovado na disciplina "+aluno.setinformarDisciplina1()+" do curso de "+aluno.getCurso());}}// disciplina3 = disciplina3; String disciplina3;publicvoidsetDisciplina3(Stringdisciplina3){echo.print(" Disciplina 3 : ");aluno.setDisciplina3(sc.nextLine());}publicvoidsetNota3(DoubleNota3){echo.print(" Nota 3 : ");aluno.setaNota3(sc.nextDouble());if(aluno.getinformarNota3()>=7.0){echo.println(aluno.getNome()+" passou na disciplina "+aluno.setinformarDisciplina1()+aluno.setinformarDisciplina2()+aluno.setinformarDisciplina3()" no curso de "+aluno.getCurso());}if(aluno.getinformarNota3()<7.0){echo.println(aluno.getNome()+" foi reprovado na disciplina "+aluno.setinformarDisciplina1()+" do curso de "+aluno.getCurso());}}}}
erros
Aluno.java:100: error: ‘;’ expected echo.println(aluno.getNome() + " passou na disciplina " + aluno.setinfo
rmarDisciplina1() + aluno.setinformarDisciplina2() + aluno.setinformarDisciplina
3()" no curso de " + aluno.getCurso());
F
fventurajr1 like
<strong>// Classe Aluno1!!!</strong>publicclassAluno1(){<strong>// Onde está definida a classe Aluno?</strong><strong>// Instanciar um objeto aluno dentro da classe Aluno1??</strong>Alunoaluno=newAluno();
importjava.util.Scanner;importjava.io.PrintStream;publicclassMain{publicstaticvoidmain(String[]args){Alunoaluno=newAluno();privatestaticfinalPrintStreamecho=System.out;}publicstaticvoidMatricula(){IntaMatricula;Scannersc=newScanner(System.in);System.out.print(" Matricula : \n");aMatricula=sc.nextInt();}publicstaticvoidNome(){StringoNome;Scannersc=newScanner(System.in);echo.print(" Nome : \n");oNome=sc.nextLine();}publicstaticvoidCurso(){StringoCurso;Scannersc=newScanner(System.in);System.out.print("Digite o numero da conta:\n");oCurso=sc.nextLine();}publicstaticvoidDisciplina1(){StringaDisciplina1;Scannersc=newScanner(System.in);System.out.print("Digite o numero da conta:\n");aDisciplina1=sc.nextLine();}publicstaticvoidNota1(){DoubleaNota1;Scannersc=newScanner(System.in);echo.print("Digite o numero da nova conta:\n");aNota1=sc.nextDouble();if(aluno.getinformarNota1()>=7.0){echo.println(aluno.getNome()+" passou na disciplina "+aluno.getDisciplina1()+" no curso de "+aluno.getCurso());}else{if(aluno.getNota1()<7.0){echo.println(aluno.getNome()+" foi reprovado na disciplina "+aluno.getDisciplina1()+" do curso de "+aluno.getCurso());}}publicstaticvoidDisciplina2(){StringaDisciplina2;Scannersc=newScanner(System.in);System.out.print("Digite o numero da conta:\n");aDisciplina2=sc.nextLine();}publicstaticvoidNota2(){DoubleaNota2;Scannersc=newScanner(System.in);echo.print("Digite o numero da nova conta:\n");aNota2=sc.nextDouble();if(aluno.getNota3()>=7.0){echo.println(aluno.getNome()+" passou na disciplina "+aluno.getDisciplina2()" no curso de "+aluno.getCurso());}else{if(aluno.getNota2()<7.0){echo.println(aluno.getNome()+" foi reprovado na disciplina "+aluno.getDisciplina2()+" do curso de "+aluno.getCurso());}}publicstaticvoidDisciplina3(){StringaDisciplina3;Scannersc=newScanner(System.in);System.out.print("Digite o numero da conta:\n");disciplina3=sc.nextnextLine();}}publicstaticvoidNota3(){DoubleaNota3;Scannersc=newScanner(System.in);echo.print("Digite o numero da nova conta:\n");aNota3=sc.nextDouble();if(aluno.getNota3()>=7.0){echo.println(aluno.getNome()+" passou na disciplina "+aluno.getDisciplina3()+" no curso de "+aluno.getCurso());}else{if(aluno.getNota3()<7.0){echo.println(aluno.getNome()+" foi reprovado na disciplina "+aluno.getDisciplina3()+" do curso de "+aluno.getCurso());}}classAluno{privateintmatricula;privateStringnome,curso,disciplina1,disciplina2,disciplina3;privatedoublenota1,nota2,nota3;publicStringgetNome(){returnnome;}publicintgetMatricula(){returnmatricula;}publicStringgetCurso(){returncurso;}publicStringgetDisciplina1(){returndisciplina1;}publicDoublegetNota1(){returnnota1;}publicStringgetDisciplina2(){returndisciplina2;}publicDoublegetNota2(){returnnota2;}publicStringgetDisciplina3(){returndisciplina2;}publicDoublegetNota3(){returnnota3;}publicAluno(intaMatricula,StringoNome,StringoCurso,StringaDisciplina1,StringaDisciplina2,StringaDisciplina3,DoubleaNota1,DoubleaNota2,DoubleaNota3){matricula=aMatricula;nome=oNome;curso=oCurso;disciplina1=aDisciplina1;nota1=aNota1;disciplina2=aDisciplina2;nota2=aNota2;disciplina3=aDisciplina3;nota3=aNota3;}}
F
fventurajr
No método main você vai instanciar o objeto, ler a entrada do usuário e chamar os métodos de aluno. Não tente inventar um alias para simplificar a escrita como você tentou fazer.