Ajuda para completar código

Pessoal, preciso completar esse código, que tem que ler a nota das 5 notas digitadas e dê a média, que é 6, e diga caso >=6 = aprovado, se não está em Recuperação. Caso ele fique em Recuperação, a menor das 5 notas será substituido pela nota da Recuperação, e após isso a divisão devera ser feita novamente para ver se o aluno está ou não aprovado.

n1+n2+n3+n4+n5 / 5

Caso for maior ou igual a 6 = aprovado, beleza…
Caso contrario: Aluno em RP
Ai vai aparecer uma mensagem dizendo para digitar a nota da prova de Recuperação do aluno, ficando assim:
n1+n2+n3(imagine que essa foi a menor nota)+n4+n5 / 5
Caso a media for = ou maior q 6 = aprovado
caso contrario = ALUNO REPROVADO

[quote]import java.util.Scanner;
import java.text.DecimalFormat;
public class Media
{
public static void main(String[] args)
{
Scanner ler=new Scanner(System.in);
DecimalFormat dec = new DecimalFormat(“0.00”);

float n1, n2, n3, n4, n5, media, mf;
int opc1 = 1;
int opc2 = 2;
String aluno1 = "Mike";
String aluno2 = "Joao";
String aluno3 = "Dionatan";
String aluno4 = "Larissa";
String aluno5 = "Anderson";
String aluno6 = "Renan";

System.out.println("Digite a nota da 1ª avaliação do aluno: "+aluno1);
    n1 = ler.nextFloat();
System.out.println("Digite a nota da 2ª avaliação do aluno: "+aluno1);
    n2 = ler.nextFloat();
System.out.println("Digite a nota da 3ª avaliação do aluno: "+aluno1);
    n3 = ler.nextFloat();
System.out.println("Digite a nota da 4ª avaliação do aluno: "+aluno1);
    n4 = ler.nextFloat();
System.out.println("Digite a nota da 5ª avaliação do aluno: "+aluno1);
    n5 = ler.nextFloat();
media = (n1+n2+n3+n4+n5)/5;
System.out.println(dec.format(media));

if (media >=6)

{
System.out.println("Aluno aprovado!!! A média mínima é 6. A média do aluno é: "+media);
}
else
{
System.out.println(“Aluno em recuperação!!! A média mínima é 6. A média do aluno é: “+media);
System.out.println(”\n\n Deseja continuar e fazer a média contando com a nota da recuperação do aluno? (S=1/N=2)”);
opc1 = ler.nextInt();

if (opc1==1)

{
System.out.println(“Digite a nota da prova de recuperação do aluno:”);
//Continuar…
}
else
{
System.out.println("\n\n Tchau. Até mais! ");
}

}

}
}[/quote]

Falta: Completar a parte da recuperação, fazendo ela substituir a menor nota entre as 5 avaliações, e depois dividir todas as 5 avaliações por 5, e caso a média for =>6 = aprovado, caso contrário = reprovado.
Após isso o código precisa perguntar se o usuário quer continuar a setar a nota dos outros alunos, que no caso seria o aluno 2,3,4,5 e 6.

Quero também que de para “selecionar” um aluno para setar a nota dele por meio de um numero, por exemplo, aparecer escrito: 1. Mike, 2. Joao. Se o usuário digitar 1, vai começar a aparecer os println do meu código, perguntando a nota das avaliações, rp, etc… e quando terminar perguntar se quer continuar ou não setando nota dos alunos, se sim, aparecer a lista de alunos novamente, se não, a println de despedida que eu disse. Essa última parte eu já fiz.

P.S: Quando colocarem o código em algum programa, irão perceber que “opc1 = 1” está escrito do lado “O valor designado nunca é utilizado”. Não sei como consertar isso.

[quote=MikeM]Pessoal, preciso completar esse código, que tem que ler a nota das 5 notas digitadas e dê a média, que é 6, e diga caso >=6 = aprovado, se não está em Recuperação. Caso ele fique em Recuperação, a menor das 5 notas será substituido pela nota da Recuperação, e após isso a divisão devera ser feita novamente para ver se o aluno está ou não aprovado.

n1+n2+n3+n4+n5 / 5

Caso for maior ou igual a 6 = aprovado, beleza…
Caso contrario: Aluno em RP
Ai vai aparecer uma mensagem dizendo para digitar a nota da prova de Recuperação do aluno, ficando assim:
n1+n2+n3(imagine que essa foi a menor nota)+n4+n5 / 5
Caso a media for = ou maior q 6 = aprovado
caso contrario = ALUNO REPROVADO

[quote]import java.util.Scanner;
import java.text.DecimalFormat;
public class Media
{
public static void main(String[] args)
{
Scanner ler=new Scanner(System.in);
DecimalFormat dec = new DecimalFormat(“0.00”);

float n1, n2, n3, n4, n5, media, mf;
int opc1 = 1;
int opc2 = 2;
String aluno1 = "Mike";
String aluno2 = "Joao";
String aluno3 = "Dionatan";
String aluno4 = "Larissa";
String aluno5 = "Anderson";
String aluno6 = "Renan";

System.out.println("Digite a nota da 1ª avaliação do aluno: "+aluno1);
    n1 = ler.nextFloat();
System.out.println("Digite a nota da 2ª avaliação do aluno: "+aluno1);
    n2 = ler.nextFloat();
System.out.println("Digite a nota da 3ª avaliação do aluno: "+aluno1);
    n3 = ler.nextFloat();
System.out.println("Digite a nota da 4ª avaliação do aluno: "+aluno1);
    n4 = ler.nextFloat();
System.out.println("Digite a nota da 5ª avaliação do aluno: "+aluno1);
    n5 = ler.nextFloat();
media = (n1+n2+n3+n4+n5)/5;
System.out.println(dec.format(media));

if (media >=6)

{
System.out.println("Aluno aprovado!!! A média mínima é 6. A média do aluno é: "+media);
}
else
{
System.out.println(“Aluno em recuperação!!! A média mínima é 6. A média do aluno é: “+media);
System.out.println(”\n\n Deseja continuar e fazer a média contando com a nota da recuperação do aluno? (S=1/N=2)”);
opc1 = ler.nextInt();

if (opc1==1)

{
System.out.println(“Digite a nota da prova de recuperação do aluno:”);
//Continuar…
}
else
{
System.out.println("\n\n Tchau. Até mais! ");
}

}

}
}[/quote]

Falta: Completar a parte da recuperação, fazendo ela substituir a menor nota entre as 5 avaliações, e depois dividir todas as 5 avaliações por 5, e caso a média for =>6 = aprovado, caso contrário = reprovado.
Após isso o código precisa perguntar se o usuário quer continuar a setar a nota dos outros alunos, que no caso seria o aluno 2,3,4,5 e 6.

Quero também que de para “selecionar” um aluno para setar a nota dele por meio de um numero, por exemplo, aparecer escrito: 1. Mike, 2. Joao. Se o usuário digitar 1, vai começar a aparecer os println do meu código, perguntando a nota das avaliações, rp, etc… e quando terminar perguntar se quer continuar ou não setando nota dos alunos, se sim, aparecer a lista de alunos novamente, se não, a println de despedida que eu disse. Essa última parte eu já fiz.

P.S: Quando colocarem o código em algum programa, irão perceber que “opc1 = 1” está escrito do lado “O valor designado nunca é utilizado”. Não sei como consertar isso.[/quote]

Quando a gente inicia em lógica de programação, temos algumas dificuldades mesmo.
minha sugestão, pra melhorar seu fonte é vc pesquisar por “laços de repetição” e “array” em java
vc já viu algo sobre “funções” e “métodos” e a diferença entre ambos?
Pegar os dados parece que vc já aprendeu. Por que não faz de conta que já possui todos os dados armazenados pra poder fazer seus testes? trabalhar com arrais iria lhe ajudar neste caso. Exemplo:

http://www.caelum.com.br/apostila-java-orientacao-objetos/um-pouco-de-arrays/#5-1-o-problema


        // faz de conta...
        float[][] array_notas;
        array_notas = new float[][]
        {
            new float[]
            {
                6.0f, 6.0f, 6.0f, 6.0f, 6.0f
            },// notas do aluno 1
            new float[]
            {
                6.0f, 6.0f, 6.0f, 6.0f, 6.0f
            } // notas do aluno 2
        };

        // mudar notas
        for (int aluno = 1; aluno < array_notas.length; aluno++)
        {
            // laço de repetição 'for'
            for (int nota = 0; nota < array_notas[aluno].length; nota++)
            {
                array_notas[aluno][nota] = 7.0f;
            }
        }

        // imprimindo notas
        for (int aluno = 0; aluno < array_notas.length; aluno++)
        {
            // laço de repetição 'for'
            for (int nota = 0; nota < array_notas[aluno].length; nota++)
            {
                System.out.print(array_notas[aluno][nota] + " ");
            }
            System.out.println();
        }