Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais

Java Reflection - Como exibir os nomes de todas as superclasses de uma determinada classe usando introspecção em Java

Quantidade de visualizações: 8058 vezes
Nesta dica veremos como tirar proveito dos métodos getClass(), getName() e getSuperclass() da classe Class da linguagem Java para exibirmos todas as super classes de um determinada classe, até chegarmos à super classe mais alta na hierarquia, ou seja, a classe Object.

Note como usamos um objeto da classe Stack para criarmos uma estrutura de dados do tipo pilha que nos permite obter os nomes das super classes e depois exibir os mesmos na ordem inversa.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.util.Stack;
import javax.swing.*;
 
public class Estudos{
  // vamos precisar de uma pilha aqui
  static Stack<String> pilha = new Stack();
    
  public static void main(String args[]){
    // Exibe todas as superclasses de JPanel
    JPanel panel = new JPanel();
    obterSuperclasses(panel);
 
    // agora vamos exibir os resultados na ordem
    // contrária que eles foram obtidos
    int cont = 0;
    while(pilha.size() > 0){
      // insere espaços antes
      String ident = "";
      for(int i = 0; i < cont; i++){
        ident = ident + "   ";   
      }
        
      System.out.println(ident + pilha.pop());
      cont++;
    }
    
    System.exit(0);
  }
 
  static void obterSuperclasses(Object obj){
    // vamos adicionar este valor na pilha
    pilha.push(obj.getClass().getName());
      
    Class cls = obj.getClass();
    Class superclass = cls.getSuperclass();
    while(superclass != null){
      String className = superclass.getName();
      
      // vamos adicionar este valor na pilha
      pilha.push(className);
      
      cls = superclass;
      superclass = cls.getSuperclass();
    }
  }
} 

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

java.lang.Object
   java.awt.Component
      java.awt.Container
         javax.swing.JComponent
            javax.swing.JPanel



JavaScript ::: Dicas & Truques ::: Matemática e Estatística

Como arredondar um valor numérico de ponto-flutuante para cima usando a função ceil() do objeto Math do JavaScript

Quantidade de visualizações: 14578 vezes
A função ceil() do objeto Math do JavaScript nos permite arrendondar um valor float ou double para o próximo inteiro maior. Dessa forma, um valor 1.45 será convertido para 2. Veja o código completo para o exemplo:

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var valor = 2.85;
  document.write("O resultado do arredondamento de " +
    valor + " é " + Math.ceil(valor));
</script>
 
</body>
</html>

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

O resultado do arredondamento de 2.85 é 3


Java ::: Coleções (Collections) ::: HashSet

Java HashSet - Como usar o método add() para adicionar novos elementos a um HashSet da linguagem Java

Quantidade de visualizações: 5445 vezes
Novos elementos podem ser adicionados a um HashSet por meio do método add(), definido originalmente na interface Collection<E> e sobrescrevendo a versão herdada de AbstractCollection<E>. Este método possui a seguinte assinatura:

public boolean add(E e)
Veja que este método recebe o elemento a ser adicionado e retorna true se o elemento foi inserido com sucesso e false em caso contrário. Note que o elemento será inserido somente se este ainda não estiver contido no conjunto. Veja o seguinte trecho de código:

package estudos;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Estudos{
  public static void main(String[] args) {
    // vamos criar uma instância da classe HashSet
    Set<Integer> conjunto = new HashSet<>();
    
    // vamos tentar inserir três inteiros neste conjunto
    if(conjunto.add(5)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    if(conjunto.add(7)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    if(conjunto.add(5)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    // vamos exibir os elementos inseridos com sucesso
    Iterator iterator = conjunto.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
}

Ao executar este código teremos o seguinte resultado:

Elemento inserido com sucesso.
Elemento inserido com sucesso.
O elemento não foi inserido.
5
7
Veja que o segundo valor 5 não foi inserido, uma vez que o mesmo já estava na coleção. Lembre-se de que objetos da classe HashSet aceitam o elemento null.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas

Exercícios Resolvidos de Java - Como calcular o volume e a área de um cilindro em Java - Geometria Espacial em Java

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

O Cilindro ou Cilindro Circular é um sólido geométrico alongado e arredondado que possui o mesmo diâmetro ao longo de todo o comprimento. Essa figura geométrica, que faz parte dos estudos de geometria espacial, apresenta dois círculos com raios de medidas equivalentes os quais estão situados em planos paralelos.

Veja a imagem a seguir:



Escreva um programa Java que pede para o usuário informar o raio e a altura de um cilindro e calcule e mostre o seu volume e sua área de superfície. Os valores informados pelo usuário deverão ser do tipo double e os resultados deverão também ser do tipo double.

Para auxiliar nos cálculos, a fórmula do volume do cilindo é:

\[ \text{V} = \pi \cdot r^2 \cdot \text{h} \]

Já a fórmula da área do cilindro é:

\[ \text{A} = \text{2} \cdot \pi \cdot r \cdot (r + h) \]

Sua saída deve ser parecida com:

Informe o raio do cilindro: 5
Informe a altura do cilindro: 8
O volume do cilindro é: 628.3185307179587
A área do cilindro é: 408.4070449666731
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double raio, altura, volume, area;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler o raio e a altura do cilindro
    System.out.print("Informe o raio do cilindro: ");
    raio = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe a altura do cilindro: ");
    altura = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular o volume do cilindro
    volume = Math.PI * Math.pow(raio, 2) * altura;
    
    // agora vamos calcular a área do cilindro
    area = 2 * Math.PI * raio * (raio + altura);
    
    // e mostramos o resultado
    System.out.println("O volume do cilindro é: " + volume);
    System.out.println("A área do cilindro é: " + area);
  }
}



Java ::: Classes e Componentes ::: JTextField

Java Swing - Como definir a cor do texto de um JTextField usando o método setForeground()

Quantidade de visualizações: 10715 vezes
Nesta dica eu mostro como podemos usar o método setForeground() da classe JTextField para definir a cor de seu texto. Note que esta função pede um objeto da classe Color, por isso, neste exemplo, forneci o valor Color.BLUE.

Veja o código Java Swing completo:

 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  JTextField texto;  
 
  public Estudos() {
    super("Estudos Swing");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
 
    // Cria um botão
    JButton btn = new JButton("Definir cor do texto");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          // vamos definir a cor do texto como azul
          texto.setForeground(Color.BLUE); 
        }
      }
    );
     
    // Cria o JTextField
    texto = new JTextField(10);     
 
    // Adiciona o botão à janela
    c.add(btn);
    // Adiciona o JTextField à janela
    c.add(texto);  
 
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



C# ::: Coleções (Collections) ::: List<T>

Como retornar a quantidade de elementos que podem ser armazenados na List do C# sem redimensioná-la

Quantidade de visualizações: 7472 vezes
O objeto List do C# possui uma propriedade Capacity que nos retorna a quantidade de elementos que podem ser inseridos na lista antes que ela tenha que redimensionar o seu array interno. Quando o tamanho da lista excede essa capacidade, automaticamente o array interno é redimensionado de forma a acomodar esses novos itens.

Nessa dica eu mostro como podemos retornar o valor dessa propriedade. Veja:

using System;
using System.Collections.Generic;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      List<int> valores = new List<int>();

      // insere valores na lista
      valores.Add(4);
      valores.Add(2);
      valores.Add(87);
      valores.Add(23);
      valores.Add(100);

      // obtém a capacidade da lista
      // NOTA: Capacity é o número de elementos que a lista
      // pode armazenar antes de ser preciso redimensioná-la.
      int capac = valores.Capacity;
      Console.WriteLine("A capacidade da lista é de "
         + capac + " elementos.");

      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

A capacidade da lista é de 8 elementos.


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

Como obter o índice do item selecionado em uma ListBox do Delphi usando a propriedade ItemIndex da classe TListBox

Quantidade de visualizações: 15175 vezes
Muitas vezes precisamos saber o índice do item atualmente selecionado em uma ListBox. Para isso podemos obter o valor da propriedade ItemIndex. Esta propriedade retorna um valor inteiro correspondente ao índice do item selecionado. O primeiro item da lista possui o índice 0. Se nenhum item estiver selecionado, ItemIndex retorna -1. Veja o exemplo:

procedure TForm1.Button2Click(Sender: TObject);
var
  indice: Integer;
begin
  // vamos obter o índice do item selecionado na ListBox
  indice := ListBox1.ItemIndex;

  // mostra o resultado
  ShowMessage('O índice do item selecionado é: '
    + IntToStr(indice));
end;

Note que esta propriedade não se aplica às ListBoxes de seleção múltipla.

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


Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço while do Python - Python para iniciantes

Quantidade de visualizações: 15551 vezes
O laço while da linguagem Python permite executar um bloco de códigos repetidamente até que uma condição seja verdadeira. Opcionalmente, uma cláusula else pode ser usado com o while em Python (a parte else será executada mesmo que o corpo principal do laço não seja executado). Veja um exemplo:

# função principal do programa
def main():
  numero = 0
 
  while numero <= 10:
    print(numero)
    numero = numero + 1
  else:
    print("Terminei")
  
if __name__== "__main__":
  main()

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

0
1
2
3
4
5
6
7
8
9
10
Terminei

Veja um exemplo de um laço while que nunca será executado:

# função principal do programa
def main():
  numero = 0
 
  while numero > 10:
    print(numero)
    numero = numero + 1
  
if __name__== "__main__":
  main()

E agora um exemplo de laço usando um valor booleano:

# função principal do programa
def main():
  continuar = True
  valor = 0
 
  while continuar:
    print(valor)
   
    if valor > 5:
      continuar = False
    else:
      valor = valor + 1
  
if __name__== "__main__":
  main()

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

0
1
2
3
4
5
6


R ::: Dicas de Estudo e Anotações ::: Variáveis e Constantes

Como usar a função class() da linguagem R para verificar o tipo de dados de uma variável

Quantidade de visualizações: 1302 vezes
Na linguagem R nós não precisamos informar o tipo de dados de uma variável no momento de sua declaração e, consequentemente, atribuição de seu valor inicial. No entanto, a linguagem permite que as variáveis, no decorrer da execução do programa, assumam outros tipos de dados.

Dessa forma, em várias situações nós podemos precisar verificar qual o tipo de dados armazenado em um variável em um determinado momento, talvez, com o propósito de não assumir riscos durante um cálculo envolvendo inteiros e decimais.

A função class() da linguagem R recebe o nome de uma variável e nos informa o seu tipo de dados. Veja um exemplo de seu uso:

> x <- 10 [ENTER]
> class(x) [ENTER]
[1] "numeric"
> x <- "Java" [ENTER]
> class(x) [ENTER]
[1] "character"
> x <- TRUE [ENTER]
> class(x) [ENTER]
[1] "logical"
> x <- 5L [ENTER]
> class(x) [ENTER]
[1] "integer"
> 

Execute estas linhas na janela de comandos do R ou em um script e veja como a variável x assumiu, no decorrer da execução, os tipos numeric, character, logical e integer.


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico

Exercícios Resolvidos de Python - Escreva um programa em Python que usa a função log10() para informar a quantidade de dígitos em um número inteiro

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

Escreva um algorítmo em Python que peça para o usuário informar um número inteiro de qualquer tamanho, ou seja, qualquer quantidade de dígitos. Em seguida seu código deverá informar a quantidade de dígitos contida no número inteiro digitado pelo usuário. Seu programa deverá, obrigatoriamente, usar a função log10() do módulo Math.

Sua saída deverá ser parecida com:

Informe um número inteiro de qualquer tamanho: 847
O número informado possui 3 dígitos
Resposta/Solução:

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

# vamos importar o módulo Math
import math

# método principal
def main():
  # vamos pedir para o usuário informar um número inteiro
  numero = int(input("Informe um número inteiro de qualquer tamanho: "))
  
  # agora vamos obter a quantidade de dígitos no
  # número informado
  tamanho = int(math.log10(numero)) + 1
	
  # mostramos o resultado
  print("O número informado possui {0} dígitos".format(tamanho))

if __name__== "__main__":
  main()


Carregar Publicações Anteriores


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 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
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

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á 58 usuários muito felizes estudando em nosso site.