Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Elabore um programa Java que efetue a leitura sucessiva de valores numéricos e apresente no final o somatório, a média e o total de valores lidos - Desafio de Programação Resolvido em Java

Quantidade de visualizações: 294 vezes
Pergunta/Tarefa:

Elabore um programa Java que efetue a leitura sucessiva de valores numéricos e apresente no final o somatório, a média e o total de valores lidos. O programa deve fazer as leituras dos valores enquanto o usuário estiver fornecendo valores positivos, ou seja, o programa deve parar quando o usuário fornecer um valor negativo.

Sua saída deve ser parecida com:

Informe o valor (negativo para parar): 8
Informe o valor (negativo para parar): 3
Informe o valor (negativo para parar): 5
Informe o valor (negativo para parar): 1
Informe o valor (negativo para parar): -3

A soma dos números é: 17
O total de números lidos é: 4
A média dos números é: 4.25
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    int numero, soma = 0, total_numeros = 0;
    double media;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);  
    
    // vamos efetuar a leitura dos números
    do {
      System.out.print("Informe o valor (negativo para parar): ");
      numero = Integer.parseInt(entrada.nextLine());
      
      // o número é positivo?
      if (numero > -1){
        // vamos somar mais este número
        soma = soma + numero;
        // vamos contar mais este número
        total_numeros = total_numeros + 1;
      }
      
    } while(numero > -1);
    
    // vamos calcular a média dos números lidos
    if (total_numeros > 0){
      media = soma / (total_numeros * 1.0);
      
      System.out.println("\nA soma dos números é: " + soma);
      System.out.println("O total de números lidos é: " + total_numeros);
      System.out.println("A média dos números é: " + media);
    }
    else{
      System.out.println("\nNão foram informados números positivos.");
    }
    
    System.out.println("\n");
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Expressões Regulares

Como remover espaços em excesso de uma string usando expressões regulares em Java

Quantidade de visualizações: 12546 vezes
Nesta dica mostrarei como é possível usar expressões regulares em Java para remover espaços em excesso de uma string, tanto no início, meio e fim. Note que vamos deixar apenas um espaço entre as palavras da frase.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
 
package arquivodecodigos;

import java.util.regex.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    String padrao = "\\s{2,}";
    Pattern regPat = Pattern.compile(padrao);
    String frase = "   Esta    frase   contém  espaços   "; 
    Matcher matcher = regPat.matcher(frase);
    String res = matcher.replaceAll(" ").trim();
    System.out.println("Com espaços: " + frase);
    System.out.println("Sem espçaos: " + res);
  } 
} 

Ao executar este código nós teremos o seguinte resultado:

Com espaços:    Esta    frase   contém    espaços   
Sem espaços: Esta frase contém espaços



Java ::: Pacote java.awt ::: Graphics

Como desenhar linhas no Java Swing usando o método drawLine() da classe Graphics

Quantidade de visualizações: 15256 vezes
O método drawLine() da classe Graphics nos permite desenhar linhas retas. Observe atentamente a assinatura deste método:

public abstract void drawLine(int x1,
  int y1, int x2, int y2)


Neste método, os parâmetros x1 e x2 representam as coordenadas iniciais da linha e x2 e y2 representam as coordenadas finais. Veja um trecho de código no qual desenhamos quatro linhas em um JLabel:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Estudos extends JFrame{
  JLabel label;  

  public Estudos() {
    super("Desenhando em um JLabel");
    
    Container c = getContentPane();
    c.setLayout(new BorderLayout());

    // Cria um JLabel
    label = new JLabel();
    c.add(label, BorderLayout.CENTER);

    // Cria um botão
    JButton btn = new 
      JButton("Desenhar Linhas");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          
          Graphics graphics = label.getGraphics();
          
          // desenha linhas no JLabel
          graphics.drawLine(10, 15, 100, 10);
          graphics.drawLine(20, 30, 80, 150);
          graphics.drawLine(50, 50, 120, 30);
          graphics.drawLine(100, 100, 310, 100);    

        }
      }
    );
    
    // Adiciona o botão à janela
    c.add(btn, BorderLayout.SOUTH);

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso.


Java ::: Classes e Componentes ::: JComboBox

Como retornar o valor do item selecionado em um JComboBox do Java Swing usando a função getSelectedItem()

Quantidade de visualizações: 15546 vezes
Nesta dica mostrarei como podemos usar o método getSelectedItem() da classe JComboBox do Java Swing para obter e retornar o valor do item selecionado. Note que usei uma conversão forçada (casting) para String antes de exibir o valor do item selecionado.

Para finalizar, coloquei uma mensagem JOptionPane.showMessageDialog para exibir o valor do item selecionado no JComboBox. Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Estudos extends JFrame{
  JComboBox combo;  

  public Estudos() {
    super("A classe JComboBox");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
    
    // Cria os itens da lista
    String nomes[] = {"Carlos", "Marcelo", "Fabiana",
      "Carolina", "Osmar"};

    // Cria o JComboBox
    combo = new JComboBox(nomes);

    // Um botão que permite obter o valor do item selecionado
    JButton btn = new JButton("Obter valor selecionado");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          String valor = (String)(combo.getSelectedItem());

          JOptionPane.showMessageDialog(null, 
            "O valor selecionado é: " + valor);
        }
      }
    );

    // Adiciona o JComboBox à janela
    c.add(combo);

    // Adiciona o botão à janela
    c.add(btn);  

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executar este código Java nós teremos uma mensagem JOptionPane.showMessageDialog com o seguinte texto:

O valor selecionado é: Osmar


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 80 usuários muito felizes estudando em nosso site.