Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados short da linguagem JavaQuantidade de visualizações: 12347 vezes |
O tipo de dados short pode ser usado quando queremos armazenar valores inteiros na faixa -32,768 à 32,767. Veja um exemplo:
public class Estudos{
static short valor = 30000;
public static void main(String args[]){
System.out.println("O valor da variável é: "
+ valor);
System.exit(0);
}
}
Porém, é preciso estar atento a um detalhe muito importante (testado na versão 6 do SDK). Veja o trecho de código seguinte:
public class Estudos{
public static void main(String args[]){
short a = 32;
short b = 19;
short soma = a + b;
System.out.println("O resultado é: " + soma);
System.exit(0);
}
}
À primeira vista este código está correto, visto que a soma das variáveis a e b não ultrapassam a faixa do tipo short. Porém, ao tentarmos compilar, temos a seguinte mensagem de erro:
Estudos.java:5: possible loss of precision
found : int
required: short
short soma = a + b;
^
1 error
short a = 32; short b = 19; short soma = (short)(a + b); O tipo de dados short pode ser convertido (sem a necessidade de cast) para os seguintes tipos: short -> int -> long -> float -> double Se precisarmos converter o tipo short para os tipos char e byte, teremos que lançar mão de uma coerção (cast). Veja: short a = 32; short b = 19; byte soma = (byte)(a + b); |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular MDC em C++ - C++ para matemáticaQuantidade de visualizações: 37601 vezes |
|
Como calcular MDC em C++ Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada: Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. O trecho de código abaixo mostra como calcular o MDC de dois números informados:
#include <iostream>
using namespace std;
int MDC(int a, int b){
int resto;
while(b != 0){
resto = a % b;
a = b;
b = resto;
}
return a;
}
int main(int argc, char *argv[]){
int x, y;
cout << "Este programa permite calcular o MDC\n";
cout << "Informe o primeiro valor: ";
cin >> x;
cout << "Informe o segundo valor: ";
cin >> y;
cout << "\nO Máximo Divisor Comum de "
<< x << " e " << y << " é " << MDC(x, y) << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Este programa permite calcular o MDC Informe o primeiro número: 12 Informe o segundo número: 9 O Máximo Divisor Comum de 12 e 9 é 3 |
Java ::: Coleções (Collections) ::: HashMap |
Java Collections - Como usar a classe HashMap da linguagem JavaQuantidade de visualizações: 37348 vezes |
|
A classe HashMap, do pacote java.util, é uma das principais implementações da interface Map. Além de fornecer todas as operações opcionais de um map, esta classe permite a inserção de chaves e valores com o valor null. Em realidade, a classe HashMap é bem similar à classe Hashtable, com a diferença que HashMap não é sincronizada (tenha cuidado ao usuá-la em ambiente de múltiplas threads) e permite valores e chaves null. Veja sua posição na hierarquia de classes Java:
java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
O uso principal da classe HashMap é quando queremos associar chaves e valores e, posteriormente, recuperar valores baseados em suas chaves. Veja um exemplo no qual temos cidades e habitantes:
package arquivodecodigos;
import java.util.*;
public class Estudos{
@SuppressWarnings("unchecked")
public static void main(String[] args){
// cria uma nova instância de HashMap
HashMap cidadesHabitantes = new HashMap();
// vamos adicionar algumas chaves e seus valores
cidadesHabitantes.put("Goiânia", new Integer(4334598));
cidadesHabitantes.put("São Paulo", new Integer(49282768));
cidadesHabitantes.put("Brasília", new Integer(96736887));
// vamos obter uma view dos mapeamentos
Set set = cidadesHabitantes.entrySet();
// obtemos um iterador
Iterator i = set.iterator();
// e finalmente exibimos todas as chaves e seus valores
while(i.hasNext()){
Map.Entry entrada = (Map.Entry)i.next();
System.out.println("Chave: " + entrada.getKey() +
" - Valor: " + entrada.getValue());
}
System.exit(0);
}
}
Ao executar este código nós teremos o seguinte resultado: Chave: Goiânia - Valor: 4334598 Chave: Brasília - Valor: 96736887 Chave: São Paulo - Valor: 49282768 Uma observação importante em relação à classe HashMap é que esta não honra nenhuma ordem específica de seus elementos, ou seja, a ordem dos pares chave-valor em uma operação de exibição pode ser bem diferente da ordem de inserção. |
Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Como verificar se um arquivo existe usando a função FileExists() da unit SysUtils do DelphiQuantidade de visualizações: 20264 vezes |
|
Quando estamos trabalhando com arquivos, é sempre uma boa idéia checar se um arquivo já existe antes de permitir que nosso código tente criar outro arquivo com o mesmo nome. Em Delphi a existência de um arquivo pode ser verificada por meio do uso da função FileExists(), na unit SysUtils. Esta função recebe o caminho e nome do arquivo e retorna true se ele existir, e false caso contrário. Veja um trecho de código no qual testamos se um determinado aqui já existe no sistema:
procedure TForm1.Button1Click(Sender: TObject);
var
arquivo: string;
begin
// diretorio e nome do arquivo
arquivo := 'C:\arquivo de codigos\dados.txt';
// vamos verificar se o arquivo existe no caminho especificado
if FileExists(arquivo) then
ShowMessage('O arquivo existe')
else
ShowMessage('O arquivo NÃO existe');
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como detectar alterações no conteúdo de um JTextAreaQuantidade de visualizações: 1 vezes |
|
Nesta dica veremos como é possível escrever uma aplicação Java Swing que detecta quando o conteúdo de um controle JTextArea é alterado. Para isso nós vamos fazer a janela JFrame implementar a interface DocumentListener e fornecer comportamento para seus método insertUpdate(), removeUpdate() e changedUpdate(). O resultado do código é refletido na imagem abaixo: ![]() E agora o código Java Swing completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
public class Estudos extends JFrame implements DocumentListener{
JTextArea textArea;
JLabel aviso;
public Estudos() {
super("Detectando alterações em um JTextArea");
Container c = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
c.setLayout(layout);
textArea = new JTextArea(10, 20);
textArea.setLineWrap(true);
textArea.getDocument().addDocumentListener(this);
aviso = new JLabel("Aviso de alterações");
c.add(textArea);
c.add(aviso);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void insertUpdate(DocumentEvent e) {
aviso.setText("Aviso de Inserção: " + e.toString());
}
public void removeUpdate(DocumentEvent e) {
aviso.setText("Aviso de Remoção: " + e.toString());
}
public void changedUpdate(DocumentEvent e) {
// pode obter os dois anteriores aqui
// aviso.setText("Aviso de Alteração: " + e.toString());
}
}
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






