Jump to content
Ivaldo

Introd. Metodos/Sub-Programas

Recommended Posts

Ivaldo

tou a fazer o 1º ano de Eng.Informatica

gostaria que alguem ajuda-se nesse programa...

da uns erros q nao sei como resolverlos :(

public class Metodo_Avaliacao
{ public static void main(String [] args)

 { menu();  }

public static void menu()

 { byte op;

   int numAlunos=0;

   do

   { do

     { System.out.println("\nM E N U");

       System.out.println("1 - Introduzir quantidade de alunos");

       System.out.println("2 - Introduzir as notas das avaliacoes e visulizar qde dos Dispensados/Aprovados/Reprovados");

       System.out.println("3 - Sair");

       System.out.print("Qual é a tua opção? ");

       op = Le.umByte ();

       System.out.println ("\tEscolheu opcao "+ op+"\n");

     } while (op < 1 || op > 3);

     switch (op)

     { case 1: numAlunos=qntAlunos(); break;

       case 2: qntAlunos(numAlunos);    break;

       default: System.out.println("Opcao Invalida!");
     }

   } while (op != 3);

 }


public static int qntAlunos()
{ int qntd;
  { do
    System.out.println("Introduza quantidade dos alunos: ");
     qntd = Le.umInt();
     System.out.println(alunos);
     if (qntd<=0)
     System.out.println("Numero Invalido!Tente Novamente.");
  }while(qntd<=0);
  return qntd;
}

public static float testes()
{float media,n = 0, teste1 , teste2 , teste3;

   do
   {   System.out.print("Introduza a nota do primeiro teste:");
       teste1 = Le.umInt();
       System.out.println(teste1);

       System.out.print("Introduza a nota do segundo teste:");
       teste2 = Le.umInt();
       System.out.println(teste2);

       System.out.print("Introduza a nota do terceiro teste:");
       teste3 = Le.umInt();
       System.out.println(teste3);

        if(teste1>20 && teste2>20 && teste3>20)
           System.out.println("Valor Invalido!!Tente Novamente.");
      media = (teste1+teste2+teste3)/3;
    }while(teste1>20 && teste2>20 && teste3>20);
}
public static void calculos(int qnt)
{ int aval1=0,aval2=0,aval3=0;
float media;


for(int i=1; i<=qnt; i++)
{media = testes();

 if (media >= 9.5)
        aval1++;
   else
        aval2++;
 if (media >= 14.5)
        aval3++;

}
visualizar (aval1,aval2,aval3,qnt);

public static void metodoAlinhar(int numer)
 {
   for (int g=5;g<=1000000;g*=5)
     if(numer<g)
       System.out.print(" ");
     System.out.print(" "+numer);
     System.out.print(" |");
 }


   public static void visualizar(int a,int b,int c,int d)
   {
     System.out.println("\n");
     System.out.println(" ============================================================");
     System.out.println(" ----------================ALTURA===============-------------");
     System.out.println(" ============================================================");
     System.out.println("    Aprovados   |   Reprovados  |   Dispensados   |  Total   ");
     System.out.println(" ============================================================");
     System.out.print(" |");
     metodoAlinhar(a);
     metodoAlinhar(b);
     metodoAlinhar(c);
     metodoAlinhar(d);
     System.out.println();
     System.out.println(" ============================================================");
     System.out.println("\n");
   }
}

}

Share this post


Link to post
Share on other sites
brunoais

[*]Que erros?

[*]Usa as tags code como deve ser

[*]Indica mais informação. Só com essa a ajuda que te posso dar é: Procura o problema linha a linha.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
brunoais

:(

Começando pelo como escrever código legível 101:

Existem dois sítios para escrever as chavetas.

Assim:

do{
//code

Ou assim

do
{
//code

Assim

void method(){
//code

ou assim:

void method()
{
//code

Cada fecho de uma chaveta tem de ser feito numa linha própria para ela.

Ex:

    //code
}

Para o do while é uma exceção:

do{
    //code
}while(/*condition*/);

Depois do caracter {, na mesma linha, com a exceção de comentários, não se pode escrever código.

Entre os caracteres { e }, todo o código terá que ter mais um "nível" de indentação do que o que estava antes do {

Tudo o que seja afetado por um comando java (if, while, do...while...) deve ter mais um "nível" de indentação do que o que estava antes

Menos confuso agora?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
falk0n

Para além disso estas a usar um método

Le.umByte ()
que não percebi de onde vem.

Não percebi se é um método estático da classe Le ou se é uma função dessa da classe Le que instânciaste algures ... que não encontrei no código.

Não cheguei a compilar o código mas pelo que consegui perceber/ (não perceber) foi isso.

Boas programações

Share this post


Link to post
Share on other sites
falk0n

Tenta estruturar melhor o código como te foi indicado, desta forma é mais fácil perceber onde estão os erros.

Encontrei tb a invocação de uma função no meio do "nada"

  visualizar (aval1,aval2,aval3,qnt);
pois não encontrei que estivesse dentro de qualquer método.

Boas programações.

Share this post


Link to post
Share on other sites
Ivaldo

o Le.um foi feito esse metodo na minha faculdade e obrigam-nos a usa-lo...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.