Ajuda em um Exercicio java

Preciso de ajuda em um exercicio de java é o seguinte:

O programa deve tratar os casos de valores das notas digitadas fora dos valores especificados, ex: valores abaixo de 0 e acima de 10. Caso for digitado algum valor fora do permitido o programa deve informar uma mensagem de erro e solicitar que digite novamente.
O programa deve perguntar ao final de cada nota digitada se o usuário deseja cadastrar mais notas. O programa deve aceitar apenas a digitação de S ou s para sim e N ou n para não. Caso o usuário digite algum valor incorreto o programa deve informar mensagem de erro e solicitar para digitar novamente.
Após terminar a digitação das notas o programa deve exibir nesta ordem:
Média das notas
Menor nota
Maior nota
Quantidade de notas abaixo de 5
Quantidade de notas iguais ou superiores a 5
Segue exemplo de interação com o usuário (em negrito o que é impresso na tela pela aplicação e em azul o que é digitado pelo usuário):
Digite o valor da nota: 3
Deseja cadastrar mais notas? (S/N): S
Digite o valor da nota: 6

Deseja cadastrar mais notas? (S/N): s
Digite o valor da nota: 11
Erro! Digite um valor entre 0 e 10!
Digite o valor da nota: 8
Deseja cadastrar mais notas? (S/N): a
Erro! Digite S ou N: S
Digite o valor da nota: 5

Deseja cadastrar mais notas? (S/N): S
Digite o valor da nota: 7

Deseja cadastrar mais notas? (S/N): S
Digite o valor da nota: 4

Deseja cadastrar mais notas? (S/N): N
Média das notas: 5.5

Menor nota: 3

Maior nota: 8

Quantidade de notas abaixo de 5: 2

Quantidade de notas iguais ou superiores a 5: 4

Qual é a dúvida?

Se é pra fazer seu dever de casa, posso te entregar em menos de 24 horas. Mas isso vai custar dinheiro… :slight_smile:

Estou com dificuldades em apresentar as mensagens simultaneamente, outra duvida é tenho que utilizar um vetor na hora de guardar os valores e depois efetuar o calculo?

[quote=alef.pires]Preciso de ajuda em um exercicio de java é o seguinte:

O programa deve tratar os casos de valores das notas digitadas fora dos valores especificados, ex: valores abaixo de 0 e acima de 10. Caso for digitado algum valor fora do permitido o programa deve informar uma mensagem de erro e solicitar que digite novamente.
O programa deve perguntar ao final de cada nota digitada se o usuário deseja cadastrar mais notas. O programa deve aceitar apenas a digitação de S ou s para sim e N ou n para não. Caso o usuário digite algum valor incorreto o programa deve informar mensagem de erro e solicitar para digitar novamente.
Após terminar a digitação das notas o programa deve exibir nesta ordem:
Média das notas
Menor nota
Maior nota
Quantidade de notas abaixo de 5
Quantidade de notas iguais ou superiores a 5
Segue exemplo de interação com o usuário (em negrito o que é impresso na tela pela aplicação e em azul o que é digitado pelo usuário):
Digite o valor da nota: 3
Deseja cadastrar mais notas? (S/N): S
Digite o valor da nota: 6

Deseja cadastrar mais notas? (S/N): s
Digite o valor da nota: 11
Erro! Digite um valor entre 0 e 10!
Digite o valor da nota: 8
Deseja cadastrar mais notas? (S/N): a
Erro! Digite S ou N: S
Digite o valor da nota: 5

Deseja cadastrar mais notas? (S/N): S
Digite o valor da nota: 7

Deseja cadastrar mais notas? (S/N): S
Digite o valor da nota: 4

Deseja cadastrar mais notas? (S/N): N
Média das notas: 5.5

Menor nota: 3

Maior nota: 8

Quantidade de notas abaixo de 5: 2

Quantidade de notas iguais ou superiores a 5: 4
[/quote]

Amigo,
Poste o que você já fez e assim poderemos tirar suas dúvidas.

:slight_smile:

Por enquanto fiz pouca coisa, queria um modo de exibir as mensagens e calcular e mostrar as ultimas mensagens quando eu digitar ‘N’(não) ai ele imprimi a media a maior e menor nota.

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

    Scanner entrada = new Scanner(System.in);
    float nota1[] = new float[10];
    float nota2[] = new float[10];
    float media[] = new float[6];
    float maior, menor, mediaTurma=0;
    int posMaior=0, posMenor=0;
    
   
    for(int i = 0; i < nota1.length; i++){
        System.out.print("Digite o nota 1:" + (i+1)+ ":");
        nota1[i] = entrada.nextFloat();
        System.out.print("Digite o nota " + (i+1)+ ":");
        nota2[i] = entrada.nextFloat();
    }
    //Calculo da média
    for(int i = 0; i < nota1.length; i++){
        media[i] = (nota1[i] + nota2[i])/2;
        System.out.println("Media do aluno " + (i+1) + ": " + media[i]);
    }

/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package exercicio;

import java.io.IOException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
*

  • @author alef.oliveira
    */
    public class Notas {
    public static void main(String[] args){

     //declaração de variaveis
     Scanner entrada = new Scanner(System.in);
     float nota1[] = new float[10];
     float nota2[] = new float[10];
     float media[] = new float[10];
     float maior, menor; //mediaTurma=0;
     //int posMaior=0, posMenor=0;
     String msg = "S";
     String msg2 = "N";
     
     //ler elementos do vetor
     for(int i = 0; i < nota1.length; i++){
        
            System.out.print("Digite a nota :" + (i+1)+ ":");
             nota1[i] = entrada.nextFloat();
             //System.out.print("Deseja cadastrar mais notas? (S/N):");
             msg = JOptionPane.showInputDialog("Deseja cadastrar mais notas? (S/N):");
                     //= entrada.next()
            
          if(nota1[i]>10){
          
        System.out.println( "Erro! Digite um valor entre 0 e 10!");
         System.out.print("Digite a nota :" + (i+1)+ ":");
             nota1[i] = entrada.nextFloat();
          }
          if(msg != msg || msg2 != msg2){
         msg = JOptionPane.showInputDialog("Erro! Digite S ou N:");
     }
         
         if(msg.equals(msg)){
                 System.out.print("Digite a nota " + (i+1)+ ":");
                 nota2[i] = entrada.nextFloat();
             }
        
     }
     
     
     //Calculo da média
     for(int i = 0; i < nota1.length; i++){
         media[i] = (nota1[i]+nota2[i])/2;
         System.out.println("Media do aluno " + (i+1) + ": " + media[i]);
     }
     
     //Calculo da maior nota
     //guarda o elemento da primeira posição
     maior = media[0]; 
     menor = media[0];
     
     //a função deste for é calcular a maior e menor nota e indicar a posição
     for (int i = 1; i < nota1.length; i++){
         if(maior < media[i]){
             maior = media[i];
            // posMaior = i;
         }
         if(menor > media[i]){
             menor = media[i];
             //posMenor = i;
         }
     }
     if(msg.equals(msg2)){
     //Impressão do for
     System.out.println("\nA Maior nota: " + maior);
     System.out.println("Menor nota: " + menor);
     //System.out.println("\nA posição da maior media -> " + posMaior);
     //System.out.println("A posição da menor media -> " + posMenor);
     }
    

    }
    }

[quote=alef.pires]/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package exercicio;

import java.io.IOException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
*

  • @author alef.oliveira
    */
    public class Notas {
    public static void main(String[] args){

     //declaração de variaveis
     Scanner entrada = new Scanner(System.in);
     float nota1[] = new float[10];
     float nota2[] = new float[10];
     float media[] = new float[10];
     float maior, menor; //mediaTurma=0;
     //int posMaior=0, posMenor=0;
     String msg = "S";
     String msg2 = "N";
     
     //ler elementos do vetor
     for(int i = 0; i < nota1.length; i++){
        
            System.out.print("Digite a nota :" + (i+1)+ ":");
             nota1[i] = entrada.nextFloat();
             //System.out.print("Deseja cadastrar mais notas? (S/N):");
             msg = JOptionPane.showInputDialog("Deseja cadastrar mais notas? (S/N):");
                     //= entrada.next()
            
          if(nota1[i]>10){
          
        System.out.println( "Erro! Digite um valor entre 0 e 10!");
         System.out.print("Digite a nota :" + (i+1)+ ":");
             nota1[i] = entrada.nextFloat();
          }
          if(msg != msg || msg2 != msg2){
         msg = JOptionPane.showInputDialog("Erro! Digite S ou N:");
     }
         
         if(msg.equals(msg)){
                 System.out.print("Digite a nota " + (i+1)+ ":");
                 nota2[i] = entrada.nextFloat();
             }
        
     }
     
     
     //Calculo da média
     for(int i = 0; i < nota1.length; i++){
         media[i] = (nota1[i]+nota2[i])/2;
         System.out.println("Media do aluno " + (i+1) + ": " + media[i]);
     }
     
     //Calculo da maior nota
     //guarda o elemento da primeira posição
     maior = media[0]; 
     menor = media[0];
     
     //a função deste for é calcular a maior e menor nota e indicar a posição
     for (int i = 1; i < nota1.length; i++){
         if(maior < media[i]){
             maior = media[i];
            // posMaior = i;
         }
         if(menor > media[i]){
             menor = media[i];
             //posMenor = i;
         }
     }
     if(msg.equals(msg2)){
     //Impressão do for
     System.out.println("\nA Maior nota: " + maior);
     System.out.println("Menor nota: " + menor);
     //System.out.println("\nA posição da maior media -> " + posMaior);
     //System.out.println("A posição da menor media -> " + posMenor);
     }
    

    }
    }[/quote]

Amigo, procure sempre que incluir qualquer tipo de código em seu comentário, utilizar a tag CODE.

Ficará assim:

[code]public static void main(String[] args){

// seu código

}[/code]

Abs,

[quote=alef.pires]/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package exercicio;

import java.io.IOException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
*

  • @author alef.oliveira
    */
    public class Notas {
    public static void main(String[] args){

     //declaração de variaveis
     Scanner entrada = new Scanner(System.in);
     float nota1[] = new float[10];
     float nota2[] = new float[10];
     float media[] = new float[10];
     float maior, menor; //mediaTurma=0;
     //int posMaior=0, posMenor=0;
     String msg = "S";
     String msg2 = "N";
     
     //ler elementos do vetor
     for(int i = 0; i < nota1.length; i++){
        
            System.out.print("Digite a nota :" + (i+1)+ ":");
             nota1[i] = entrada.nextFloat();
             //System.out.print("Deseja cadastrar mais notas? (S/N):");
             msg = JOptionPane.showInputDialog("Deseja cadastrar mais notas? (S/N):");
                     //= entrada.next()
            
          if(nota1[i]>10){
          
        System.out.println( "Erro! Digite um valor entre 0 e 10!");
         System.out.print("Digite a nota :" + (i+1)+ ":");
             nota1[i] = entrada.nextFloat();
          }
          if(msg != msg || msg2 != msg2){
         msg = JOptionPane.showInputDialog("Erro! Digite S ou N:");
     }
         
         if(msg.equals(msg)){
                 System.out.print("Digite a nota " + (i+1)+ ":");
                 nota2[i] = entrada.nextFloat();
             }
        
     }
     
     
     //Calculo da média
     for(int i = 0; i < nota1.length; i++){
         media[i] = (nota1[i]+nota2[i])/2;
         System.out.println("Media do aluno " + (i+1) + ": " + media[i]);
     }
     
     //Calculo da maior nota
     //guarda o elemento da primeira posição
     maior = media[0]; 
     menor = media[0];
     
     //a função deste for é calcular a maior e menor nota e indicar a posição
     for (int i = 1; i < nota1.length; i++){
         if(maior < media[i]){
             maior = media[i];
            // posMaior = i;
         }
         if(menor > media[i]){
             menor = media[i];
             //posMenor = i;
         }
     }
     if(msg.equals(msg2)){
     //Impressão do for
     System.out.println("\nA Maior nota: " + maior);
     System.out.println("Menor nota: " + menor);
     //System.out.println("\nA posição da maior media -> " + posMaior);
     //System.out.println("A posição da menor media -> " + posMenor);
     }
    

    }
    }[/quote]

Alef,
Desculpa a demora pra responder, estou enrolado aqui no trabalho.
Estou fazendo seu exemplo quando tenho tempo disponível la em casa, porém não tá facil.
De antemão, ja te indico a não declarar vários vetores por nota, pois não é essa a intenção.
Você deverá criar um array apenas de notas e caso esse array cresça além do tamanho declarado, você terá que usar uma regra para aumenta-lo. é um pouco mais complicado.
Você sabe trabalhar com arraylist?
Indico dar uma olhada, pois seria mais fácil de utilizar nesse exemplo.
De qualquer forma, esse fds devo ter um tempo melhor para fazer o exemplo e disponibilizar pra você!!