Java ::: Coleções (Collections) ::: ArrayList |
Como testar se um valor está contido em uma ArrayList do Java usando a função contains()Quantidade de visualizações: 19573 vezes |
Em algumas situações nós queremos verificar se um determinado valor está contido em um dos elementos da ArrayList. Para isso nós podemos usar o método contains(), que retorna true se o valor existir e false em caso contrário. Veja um exemplo de seu uso: package estudos_java; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá inteiros ArrayList<Integer> valores = new ArrayList<>(); // adiciona itens na lista valores.add(34); valores.add(12); valores.add(8); valores.add(23); // Verifica se um determinado if(valores.contains(12)){ System.out.println("O valor foi encontrado."); } else{ System.out.println("O valor não foi encontrado."); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: O valor pesquisado foi encontrado. |
Java ::: Dicas & Truques ::: Data e Hora |
Como adicionar ou subtrair horas à data atual usando o método add() e a constante Calendar.HOUR da classe Calendar do JavaQuantidade de visualizações: 537 vezes |
Nesta dica mostrarei como podemos usar a função add() e a constante Calendar.HOUR da classe Calendar do Java para adicionar ou subtrair horas de uma data. Veja o exemplo a seguir:package estudos; import java.util.Calendar; public class Estudos { public static void main(String[] args) { // vamos construir uma instância da classe Calendar Calendar agora = Calendar.getInstance(); // vamos exibir a data e hora atuais System.out.println("Data e hora atual: " + agora.getTime().toString()); // adiciona 15 hora à hora atual agora.add(Calendar.HOUR, 13); // mostra a data e hora com as 15 horas adicionadas System.out.println("Daqui a 15 horas: " + agora.getTime().toString()); } } Ao executar este código Java nós teremos o seguinte resultado: Data e hora atual: Mon Jan 16 12:33:26 BRST 2023 Daqui a 15 horas: Tue Jan 17 01:33:26 BRST 2023 Se quisermos subtrair as horas ao invés de adicionar, basta fornecermos um valor negativo para o método add(). |
PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados) |
Como criar uma base de dados no PostgreSQL usando o comando DDL CREATE DATABASEQuantidade de visualizações: 4824 vezes |
Quando queremos criar uma nova base de dados no PostgreSQL, é comum usarmos o pgAdmin ou a ferramenta de linha de comando createdb. No entanto, há situações nas quais precisamos criar uma nova base de dados usando instruções SQL. Para isso podemos usar o comando DDL CREATE DATABASE. Veja sua sintáxe para o PostgreSQL:CREATE DATABASE name [ [ WITH ] [ OWNER [=] user_name ] [ TEMPLATE [=] template ] [ ENCODING [=] encoding ] [ LC_COLLATE [=] lc_collate ] [ LC_CTYPE [=] lc_ctype ] [ TABLESPACE [=] tablespace_name ] [ CONNECTION LIMIT [=] connlimit ] ] CREATE DATABASE estudos; Este comando pode ser disparado via linha de comando SQL Shell (psql), na janela de Query do pgAdmin ou a partir de uma linguagem de programação. Se uma mensagem parecida com: Query returned successfully with no result in 7674 ms. for exibida, é sinal de que a base de dados foi criada com sucesso. Quando tentamos criar uma base de dados com um nome já existente, o PostgreSQL abortará a operação e exibirá a seguinte mensagem de erro: ERRO: banco de dados "estudos" já existe ********** Error ********** ERRO: banco de dados "estudos" já existe SQL state: 42P04 OWNER = postgres ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'Portuguese_Brazil.1252' LC_CTYPE = 'Portuguese_Brazil.1252' CONNECTION LIMIT = -1; Em outras dicas desta seção você verá como personalizar cada um destes parâmetros no comando CREATE DATABASE. |
Fórmulas da Física ::: Mecânica ::: Fórmulas de Cinemática |
Fórmula da Distância - Como calcular a distância dados a velocidade e o tempo decorridoQuantidade de visualizações: 5344 vezes |
É muito comum, durante uma viagem ou conversa com amigos, querermos saber qual foi a distância percorrida quando sabemos a velocidade da viagem e o tempo gasto. Para isso podemos usar a seguinte fórmula: \[d = v \cdot t \] Onde: d = distância percorrida em metros (m); v = velocidade em metros por segundo (m/s); t = tempo em segundos (s); Embora metros e segundos sejam as medidas mais adequadas para a resolução deste tipo de problema (por serem as unidades padrões do SI - Sistema Internacional), você pode usar quilômetros em vez de metros, desde que o tempo seja medido em horas, com a velocidade em Km/h (quilômetros por hora). Vamos ver um exemplo? 1) Um jatinho realiza o percurso entre Brasília e São Paulo em 2h, com uma velocidade de 500km/h. Calcule a distância entre as duas cidades considerando essas informações. Resolução: Aqui nós temos o tempo do percurso em horas, e a velocidade em quilômetros por hora. Dessa forma não precisamos converter para metros e segundos. Tudo que temos a fazer é jogar na fórmula as informações que já temos. Veja: \[d = 500 \cdot 2 \] \[d = 1000 \] Assim, a distância entre as duas cidades é de 1.000km. |
Android Java ::: android.widget ::: Toast |
Como usar a classe Toast em suas aplicações AndroidQuantidade de visualizações: 10104 vezes |
Um objeto da classe pública Toast (do pacote android.widget) nos oferece uma forma de exibir uma pequena e rápida mensagem aos usuários de nossas aplicações Android. A mensagem exibida aparecerá como uma view flutuante sobre a tela atual da aplicação e não receberá foco. O objetivo é alertar o usuário sobre o sucesso ou fracasso de alguma atividade, aguardar alguns segundos e fazer a mensagem desaparecer. Veja a posição desta classe na hierarquia de classes do Android SDK: java.lang.Object android.widget.Toast Eis um exemplo de como usar um objeto desta classe para exibir uma breve mensagem quando o usuário clicar um botão na view: package arquivo.estudos; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class EstudosActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button) findViewById(R.id.btn); button.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { Toast.makeText(EstudosActivity.this, "Bem-vindo à minha aplicação Android", Toast.LENGTH_SHORT).show(); } }); } } O botão usado neste exemplo foi criado em um layout XML com a seguinte declaração: <Button android:id="@+id/btn" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Clique" /> Veja que aqui nós usamos o método estático makeText() da classe Toast para exibir a mensagem ao usuário. A constante Toast.LENGTH_SHORT faz com que a mensagem seja exibida por um curto período de tempo. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como criar e usar métodos estáticos em suas classes Java - Programação Orientada a Objetos em Java - Java OOPQuantidade de visualizações: 13596 vezes |
Como já vimos em outras dicas desta seção, uma classe Java possui propriedades (variáveis) e métodos (funções). Veja a seguinte declaração de uma classe Produto:package estudos; // declaração da classe Produto public class Produto { private String nome; private double preco; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public double getPreco() { return preco; } public void setPreco(double preco) { this.preco = preco; } } Aqui cada instância da classe Produto terá suas próprias variáveis nome e preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância. Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma. O método main() presente em todas as aplicações Java é um bom exemplo deste tipo de método. Métodos estáticos em Java podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo: Código para Pessoa.java: package estudos; // classe Pessoa com duas variáveis privadas e // um método estático public class Pessoa { private String nome; private int idade; // um método estático que permite verificar a validade // de um número de CPF public static boolean isCPFValido(String cpf){ // alguns cálculos aqui return true; } } Veja agora como podemos chamar o método isCPFValido() sem a necessidade da criação de uma nova instância da classe Pessoa: Código para Main.java: package estudos; public class Main { public static void main(String[] args) { // vamos efetuar uma chamada ao método isCPFValido() sem // criar uma instância da classe Pessoa if(Pessoa.isCPFValido("12345")){ System.out.println("CPF Válido"); } else{ System.out.println("CPF Inválido"); } } } Note que o método estático isCPFValido() da classe Pessoa foi declarado assim: public static boolean isCPFValido(String cpf); Desta forma, podemos chamá-lo a partir de código externo à classe sem a necessidade de criar uma nova instância da mesma. Veja: if(Pessoa.isCPFValido("12345")){} É importante notar que métodos estáticos não possuem acesso a variáveis e métodos não estáticos da classe, tampouco ao ponteiro this (que só existe quando criamos instâncias da classe). Assim, o trecho de código abaixo: // um método estático que permite verificar a validade // de um número de CPF public static boolean isCPFValido(String cpf){ // alguns cálculos aqui // vamos acessar a variável não estática nome nome = "Osmar J. Silva"; return true; } vai gerar o seguinte erro de compilação: Uncompilable source code - non-static variable nome cannot be referenced from a static context. Se usarmos this.nome a mensagem de erro de compilação será: Uncompilable source code - non-static variable this cannot be referenced from a static context. Métodos estáticos são úteis quando precisamos criar classes que atuarão como suporte, nas quais poderemos chamar funções (métodos) auxiliares sem a necessidade de criar novas instâncias a cada vez que estas funções forem necessárias. |
C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em C usando a função cos() do header math.h - Calculadora de cosseno em CQuantidade de visualizações: 1049 vezes |
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem C. Esta função, que faz parte do header math.h, recebe um valor numérico double e retorna um valor double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]){ // vamos calcular o cosseno de três números printf("Cosseno de 0 = %f\n", cos(0)); printf("Cosseno de 1 = %f\n", cos(1)); printf("Cosseno de 2 = %f\n", cos(2)); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Cosseno de 0 = 1.000000 Cosseno de 1 = 0.540302 Cosseno de 2 = -0.416147 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como criar chaves no registro do Windows usando o método CreateKey() da classe TRegistry do DelphiQuantidade de visualizações: 15189 vezes |
Em algumas situações gostariámos de criar novas chaves e/ou sub-chaves no registro do Windows. Isso pode ser feito por meio do método CreateKey() da classe TRegistry. Este método recebe uma string especificando o nome da chave a ser criada e retorna um valor Boolean indicando se a chave foi criada com sucesso. Veja um trecho de código no qual criamos uma chave chamada "Arquivo de Códigos" dentro da chave raiz HKEY_CURRENT_USER: procedure TForm3.Button4Click(Sender: TObject); var chave: String; reg: TRegistry; begin // uses Registry // vamos definir o nome da chave a ser criada chave := 'Arquivo de Códigos'; // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas // vamos reafirmar isso reg.RootKey := HKEY_CURRENT_USER; // vamos criar a chave informada if reg.CreateKey(chave) then begin ShowMessage('A chave foi criada com sucesso.'); end else begin ShowMessage('Não foi possível criar a chave informada.'); end; // vamos liberar o registro reg.Free; end; Alguns aplicativos, por exemplo os da Adobe, Macromedia, Microsoft, etc, guardar informações relacionadas aos seus aplicativos na sub-chave SOFTWARE dentro da chave HKEY_LOCAL_MACHINE. Assim, vamos criar uma chave para um aplicativo fictício. Vamos chamar nossa chave de "Simulador Nota Fiscal Eletrônica 1.0". Note que, se esta chave já existir no registro nada acontecerá: procedure TForm3.Button4Click(Sender: TObject); var chave: String; reg: TRegistry; begin // uses Registry // vamos definir o nome da chave a ser criada chave := 'Simulador Nota Fiscal Eletrônica 1.0'; // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // vamos criar uma chave dentro de HKEY_LOCAL_MACHINE\SOFTWARE reg.RootKey := HKEY_LOCAL_MACHINE; // vamos criar a chave informada if reg.CreateKey('\SOFTWARE\' + chave) then begin ShowMessage('A chave foi criada com sucesso.'); end else begin ShowMessage('Não foi possível criar a chave informada.'); end; // vamos liberar o registro reg.Free; end; Execute este código e logo em seguida abra uma janela de terminal e digite regedit.exe. vá na seção HKEY_LOCAL_MACHINE\SOFTWARE e veja se a chave "Simulador Nota Fiscal Eletrônica 1.0" foi realmente criada. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
CSS ::: Dicas & Truques ::: Cores de Fundo e Imagens de Fundo |
Como definir uma imagem de fundo que se repete apenas verticalmente usando a propriedade background-repeat do CSSQuantidade de visualizações: 7581 vezes |
Nesta dica mostrarei como podemos definir uma imagem de fundo para a página HTML e ajustá-la para repetir apenas verticalmente usando a propriedade background-repeat com o valor repeat-y. Note que, para definir a imagem de fundo, nós usamos a propriedade background-image. Veja o código CSS para o exemplo: <style type="text/css"> <!-- body {background-image: url('fundo.gif'); background-repeat: repeat-y} //--> </style> |
Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens |
Como carregar uma imagem em um JFrame do Java Swing - Manipulação de imagens em JavaQuantidade de visualizações: 19482 vezes |
Nesta dica mostrarei como é possível combinar as classes Toolkit e MediaTracker para carregar uma imagem JPG e exibi-la na superfície da uma janela JFrame do Java Swing. Este exemplo é muito útil, pois abre o horizonte para uma infinidade de aplicações interessantes, deste visualizadores de imagens e fotos até jogos em Java. Veja o código completo para o exemplo: import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ private Image imagem; public Estudos() { super("Carregando imagens em uma JFrame"); // imagem a ser exibida String minhaImagem = "foto1.jpg"; Toolkit toolkit = Toolkit.getDefaultToolkit(); imagem = toolkit.getImage(minhaImagem); MediaTracker mediaTracker = new MediaTracker(this); mediaTracker.addImage(imagem, 0); try{ mediaTracker.waitForID(0); } catch(InterruptedException ie){ System.err.println(ie); System.exit(1); } setSize(imagem.getWidth(null), imagem.getHeight(null)); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void paint(Graphics graphics){ graphics.drawImage(imagem, 0, 0, null); } } Ao executar esta aplicação Java Swing nós teremos o seguinte resultado: ![]() |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
C - Como calcular a massa de um corpo dada sua energia cinética e sua velocidade usando a linguagem C |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |