Ajuda referente ao exercício

4 respostas
M

BOA NOITE PESSOAL!! TUDO BEM?
ESPERO QUE SIM!!!
Preciso da ajuda de vocês!!!
Têm um exercício que é assim:

Exercício 6) Desenvolva um algoritmo que mostre um menu de opções para:
Opção 1 : calcular a soma de todos os números compreendidos entre 1 e 100;
Opção 2 : calcular a soma de todos os números pares compreendidos entre 1 e 100; e
Opção 3 : calcular a soma de todos os números divisíveis por 3.

De acordo com a seleção do usuário, o algoritmo deverá calcular e apresentar a soma.
Validar a entrada do usuário, não permitindo valores diferentes de 1, 2 e 3.
Ao final de uma operação, perguntar ao usuário se ele deseja executar outra opção.

import javax.swing.*;
public class Exercicio6 
{
    public static void main (String [] Args)
    {
        int opcao=0;
        int soma=0;
        int constante = 100;
        int contadora =1;
        char pergunta = 'S';
          
     do 
     {
     
        opcao = Integer.parseInt(JOptionPane.showInputDialog("QUAL OPÇÃO?\n SENDO 1: \n calcular a soma de todos "
                + "os números compreendidos entre 1 e 100; \n SENDO 2: \n calcular a soma de todos os números "
                + "pares compreendidos entre 1 e 100; \n SENDO 3: \n "
                + "calcular a soma de todos os números divisíveis por 3;"));
        if (opcao > 3)
        {
            System.out.println("OPÇÃO INVÁLIDA!");
            JOptionPane.showMessageDialog(null, "OPÇÃO INVÁLIDA!\n PROGRAMA ENCERRADO!");
            System.exit(1);
            
        }
           
        switch (opcao)
        {
            case 1: System.out.println("OPÇÃO 1!");
                break;
            case 2: System.out.println("OPÇÃO 2!");
                break;
            case 3: System.out.println("OPÇÃO 3!");
                break;
        }
        
        if (opcao == 1)
        {
            while (contadora <= constante)
            {
                soma = soma + contadora;
                contadora++;
                
                
            }
            
            System.out.println("A SOMA DOS NÚMEROS COMPREENDIDOS É " + soma);
           
        }
        if (opcao == 2)
        {
            while (contadora <= constante)
            {
                if (contadora % 2 == 0)
                {
                    soma = soma + contadora;
                    
                }
                contadora++;
            }
            System.out.println("A SOMA DOS NÚMEROS PARES COMPREENDIDOS É " + soma);
            
        }
        if (opcao == 3)
        {
            while (contadora <= constante)
            {
                if (contadora % 3 == 0)
                    
                {
                    soma = soma + contadora;
                }
                contadora++;
                
            }
            System.out.println("A SOMA DOS NÚMEROS DIVISÍVEIS POR 3 COMPREENDIDOS É " + soma);
            }
        
        pergunta = JOptionPane.showInputDialog("DESEJA EXECUTAR OUTRA OPERAÇÃO? S/N").charAt(0);    // nessa parte da pergunta se o usuário digitar S ou s, era pra ele zerar o valor da variável "soma" e mostrar conforme a opção selecionada.
        
        
        if (pergunta == 'n' || pergunta == 'N')
        {
            JOptionPane.showMessageDialog(null, "VOCÊ PEDIU PARA O PROGRAMA SER ENCERRADO! FEITO!");
            System.exit(1);

            
        }
        
     }while (pergunta != 'N' || pergunta == 'n');        
     
    }

}

O erro está ali no comentário ref a variável "soma". ALGUÉM ME AJUDA???

GRATO.

4 Respostas

douglaskd

faltou zerar as variaveis, como você disse...

else if (pergunta == 's' || pergunta == 'S')   
        {   
            soma = 0;   
            contadora =0;
        } 
           
     }while (pergunta != 'N' || pergunta != 'n');

também alterei o while acima de == 'n' para != 'n'

M

Bom Dia!

Mano mt obrigado kra, era essa minha única dúvida… rsrss

mt obrigado!!!

ViniGodoy

Por favor, ao postar tópicos, evite deixar os títulos apenas com letras maiúsculas.
Além disso, procure dar em seu tópico um título que descreva seu problema.

Só dizer que você precisa de ajuda num exercício não dá qualquer dica sobre qual é a dúvida.

ViniGodoy

Forma menos burra de calcular. Ao invés do while, use a soma dos termos de uma PA:

Opção 1 : calcular a soma de todos os números compreendidos entre 1 e 100;
Soma de todos os termos da PA iniciada em 1, terminada em 100, de razão 1.

Opção 2 : calcular a soma de todos os números pares compreendidos entre 1 e 100; e
Soma de todos os termos da PA iniciada em 2, terminada em 100, de razão 2.

Opção 3 : calcular a soma de todos os números divisíveis por 3.
Soma de todos os termos da PA iniciada em 3, terminada em 99, de razão 3.

O programa ficará mais curto e bem mais eficiente.

Criado 4 de abril de 2012
Ultima resposta 5 de abr. de 2012
Respostas 4
Participantes 3