Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

POO - Programação Orientada a Objetos - Exercícios Resolvidos de Java - Ex. 2 - A classe Circulo (construtores, métodos, getters e setters e encapsulamento)

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

Escreva uma classe Circulo para representar círculos. Esta classe deverá conter os seguintes atributos e métodos:

a) Uma variável privada do tipo double chamada raio que guardará o valor do raio atual do circulo.

b) Métodos get() e set() públicos que permitem definir e acessar o valor da variável raio.

c) Um construtor que recebe o valor do raio como argumento.

d) Um método getArea() que calcula e retorna a área do círculo.

e) Um método getCircunferencia() que calcula e retorna a circunferência do círculo.

f) Um método aumentarRaio() que recebe um valor double e o usa como percentual para aumentar o raio do círculo.

Crie uma classe contendo um método main() para testar a funcionalidade da classe Circulo. Eis um exemplo de entrada e saída:



Resposta/Solução:

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

Circulo.java:

package estudos;

public class Circulo{
  private double raio; // guarda o raio atual do círculo

  // construtor que recebe o valor do raio como argumento
  public Circulo(double raio){
    this.raio = raio;  
  }
  
  // permite obter o raio do círculo
  public double getRaio(){
    return raio;
  }

  // permite definir o raio do círculo
  public void setRaio(double raio){
    this.raio = raio;
  }
  
  // obtém a área do círculo
  public double getArea(){
    double area = Math.PI * Math.pow(this.raio, 2); 
    return area;  
  }
  
  // obtém a circunferência do círculo
  public double getCircunferencia(){
    double circunferencia = (2 * Math.PI) * this.raio; 
    return circunferencia;  
  }
  
  // permite aumentar o raio de acordo com uma porcentagem fornecida
  public void aumentarRaio(double porcentagem){
    this.raio = this.raio + (porcentagem / 100.0) * this.raio;    
  }
}

Veja agora o método main() que nos permite testar a funcionalidade da classe Circulo:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar uma instância da classe Circulo
    Scanner entrada = new Scanner(System.in);
    System.out.print("Informe o raio do círculo: ");
    double raio = Double.parseDouble(entrada.nextLine());
    Circulo c = new Circulo(raio);
    
    // vamos mostrar o valor do raio atual
    System.out.println("Raio: " + c.getRaio());
    // vamos mostrar a área
    System.out.println("Área: " + c.getArea() + " metros quadrados");
    // vamos mostrar a circunferência
    System.out.println("Circunferência: " + c.getCircunferencia() + " metros");
    
    // vamos aumentar o raio do circulo em uma determinada porcentagem
    System.out.print("\nInforme o percentual de aumento do raio: ");
    double percentual = Double.parseDouble(entrada.nextLine());
    c.aumentarRaio(percentual);
    
    // vamos mostrar o valor do raio atual
    System.out.println("Raio: " + c.getRaio());
    // vamos mostrar a área
    System.out.println("Área: " + c.getArea() + " metros quadrados");
    // vamos mostrar a circunferência
    System.out.println("Circunferência: " + c.getCircunferencia() + " metros");
  }
}



Java ::: Dicas & Truques ::: Threads

Threads em Java - O que são threads e como usá-las em seus programas Java

Quantidade de visualizações: 13906 vezes
Uma thread é um fluxo de execução de uma determinada tarefa em um programa. Na programação tradicional, temos apenas um fluxo de execução que começa a executar no início do programa e vai até o final. Com o uso de threads podemos ter várias tarefas sendo executadas ao mesmo tempo, cada uma independente da outra.

Em programas que contêm interfaces gráficas, o uso de múltiplos fluxos de execução (ou threads) é muito comum. Enquanto digitamos em uma caixa de texto, uma animação pode estar sendo executada ou um arquivo sendo baixado.

O Java permite que tenhamos várias threads sendo executadas ao mesmo tempo. Cada tarefa (ou thread) é uma instância da interface Runnable. Esta interface descreve apenas um método:

public void run();
Há duas formas de criarmos uma thread em Java. A primeira consiste em extender a classe Thread. Esta classe implementa a interface Runnable e fornece o método start(), que é usado para avisar ao gerenciador de threads que a thread recém criada está pronta para ser executada. Veja um exemplo:

// criamos uma classe que servirá como thread
class MinhaThread extends Thread{
  private String nome;  

  public MinhaThread(String nome){
    this.nome = nome;
  }   

  public void run(){
    for(int i = 1; i <= 20; i++){
      System.out.println(nome + ": " + i);
    }
  }
}

public class Estudos{
  public static void main(String[] args){
    // vamos criar duas threads
    MinhaThread t1 = new MinhaThread("Thread 1");
    t1.start(); // chamamos o método start() e não run()

    MinhaThread t2 = new MinhaThread("Thread 2");
    t2.start(); // chamamos o método start() e não run()    

    System.exit(0);
  }
}

Salve este código como Estudos.java, compile e execute. Veja que cada thread escreverá de 1 a 20 na tela. Observe como as duas threads se alternam em suas tarefas, ou seja, de tempos em tempos uma cede lugar para que a outra seja executada. Note também que, embora nossa classe tenha um método run() nós não o chamamos. O que fazemos é chamar o método start(), que torna a thread elegível para ser executada a qualquer momento.

Uma outra forma de criarmos uma thread é fazer com que nossa classe implemente a interface Runnable. Veja:

// criamos uma classe que servirá como thread
class MinhaThread implements Runnable{
  private String nome;  

  public MinhaThread(String nome){
    this.nome = nome;
  }   

  public void run(){
    for(int i = 1; i <= 20; i++){
      System.out.println(nome + ": " + i);
    }
  }
}

public class Estudos{
  public static void main(String[] args){
    // vamos criar duas threads
    MinhaThread mt1 = new MinhaThread("Thread 1");
    Thread t1 = new Thread(mt1);
    t1.start();    

    MinhaThread mt2 = new MinhaThread("Thread 2");
    Thread t2 = new Thread(mt2);
    t2.start();

    System.exit(0);
  }
}

O funcionamento do código é o mesmo. A diferença é que agora, a classe usada como thread implementa a interface Runnable. A forma de criação da thread também foi alterada. Agora nós criamos instâncias de Thread fornecendo nossa classe thread como argumento e chamamos o método start da classe Thread e não de nossa própria classe, como fizemos anteriormente.


Delphi ::: VCL - Visual Component Library ::: TListBox

Como excluir o item ou itens selecionados em uma TListBox do Delphi usando a função DeleteSelected

Quantidade de visualizações: 13716 vezes
Em algumas ocasiões nós precisamos excluir o item ou os itens selecionados em uma TListBox. Isso pode ser feito com o auxílio do método DeleteSelected da classe TListBox. Veja um trecho de código no qual excluímos apenas o item selecionado:

procedure TForm3.FormCreate(Sender: TObject);
begin
  // vamos adicionar alguns itens na ListBox
  ListBox1.Items.Add('Goiânia');
  ListBox1.Items.Add('Curitiba');
  ListBox1.Items.Add('Brasilia');
end;

procedure TForm3.Button1Click(Sender: TObject);
begin
  // vamos excluir o item selecionado
  ListBox1.DeleteSelected;
end;

É possível conseguir o mesmo resultado usando o método Delete() do objeto Items (do tipo TStrings). Veja:

procedure TForm3.Button1Click(Sender: TObject);
begin
  // vamos excluir o item selecionado
  ListBox1.Items.Delete(ListBox1.ItemIndex);
end;

Note que o método Delete() do objeto Items exige o índice do elemento a ser removido. Com o método DeleteSelected da classe TListBox esta exigência não existe. Além disso, o método DeleteSelected permite excluir mais de um elemento selecionado, ou seja, ele excluir todos os elementos selecionados. Veja:

procedure TForm3.FormCreate(Sender: TObject);
begin
  // vamos adicionar alguns itens na ListBox
  ListBox1.Items.Add('Goiânia');
  ListBox1.Items.Add('Curitiba');
  ListBox1.Items.Add('Brasilia');

  // para que este exemplo funcione corretamente, a ListBox
  // deverá permitir seleção múltipla
  ListBox1.MultiSelect := True;
end;

procedure TForm3.Button1Click(Sender: TObject);
begin
  // vamos excluir todos os itens selecionados
  ListBox1.DeleteSelected;
end;

Execute este código, selecione mais de um item e clique no botão para verificar o resultado.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Passos Iniciais

Machine Learning para iniciantes - Como usar a biblioteca NumPy em seus programas Python

Quantidade de visualizações: 2491 vezes
Criada em 2005 por Travis Oliphant, a biblioteca NumPy é uma biblioteca Python que, embora escrita parcialmente em código Python, possui trechos de código C ou C++, principalmente as partes que requerem processamento ou computação mais veloz.

Estudiosos, entusiastas e desenvolvedores de soluções envolvendo Data Science, Deep Learning, Machine Learning e Inteligência Artificial (IA) em geral, encontram nessa biblioteca muitas funções úteis para a criação e manipulação de vetores e matrizes, além de funções para trabalhar no domínio de algebra linear e transformação fourier.

A biblioteca NumPy (Numerical Python) é um projeto open source e pode ser usada livremente em qualquer programa Python. Uma das razões para a sua adoção é a substituição das listas Python pelos vetores e matrizes NumPy, já que estes últimos são 50 vezes mais rápidas que as listas Python, que muitas vezes fazem o papel de arrays.

Minha instalação do Python já possui a biblioteca NumPy?

A melhor forma de descobrir se a NumPy já está disponível para os seus códigos Python é rodando o seguinte trecho de código:

# importamos a bibliteca NumPy
import numpy as np
 
def main():
  # construimos um vetor de cinco elementos
  vetor = np.array([20, 3, 87, 4, 120])
  # imprimimos seu conteúdo
  print(vetor)

if __name__== "__main__":
  main()

Se você vir o resultado abaixo:

[ 20   3  87   4 120]

então sua instalação do Python já contém a biblioteca NumPy e você está pronto(a) para experimentar as demais dicas e truques dessa seção.

Porém, se você ainda não tiver a NumPy, a seguinte mensagem de erro será exibida:

Exception has occurred: ModuleNotFoundError
No module named 'numpy'
  File "C:\estudos_python\estudos.py", line 2, in <module>
    import numpy as np

Não se desespere. Basta abrir uma janela de prompt e disparar o comando abaixo:

pip install numpy

Aguarde alguns minutos para que o Pip baixe e instale a biblioteca. Em seguida tente executar o código acima novamente.

Agora é só aproveitar tudo que a biblioteca NumPy tem a nos oferecer.


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


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