![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Livros, E-books, Apostilas e Cursos |
E-Book 350 _Exercícios Resolvidos_ de Java - PDF com 500 páginasQuantidade de visualizações: 9007 vezes |
![]() Apenas R$ 19,90 - Pagamento único - Envio imediato. Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java. Trata-se de um PDF com 500 páginas contendo 350 exercícios resolvidos para você praticar 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, internet, arquivos e diretórios, programação orientada a objetos e muito mais. Veja o conteúdo completo deste e-book acessando este link: Conteúdo do E-book 350 Exercícios Resolvidos de Java - PDF com 500 páginas. Novos exercícios resolvidos são acrescentados todos os dias. Por isso, lembre-se de solicitar sua atualização com frequência. Adquira pelo WhatsApp +55 (062) 98553-6711 (Osmar) ou diretamente pelo Mercado Pago (PIX, cartão de crédito, boleto, etc). |
C# ::: Coleções (Collections) ::: List<T> |
Como pesquisar um elemento em uma lista do C# usando a função Find() e um PredicateQuantidade de visualizações: 15684 vezes |
|
Em algumas situações gostaríamos de pesquisar e retornar o primeiro elemento de uma List<T> que obedece a algum critério de busca. Assim, poderíamos, por exemplo, pesquisar um nome que começa com uma determinada palavra ou um preço de produto maior ou igual a um determinado valor. Para tais situações podemos usar o método Find(). Este método possui a seguinte assinatura: public T Find( Predicate<T> match ) Veja que o método pede um delegate do tipo Predicate<T> que define as condições para a pesquisa do elemento. Se o elemento for encontrado, este é retornado. Caso contrário, o valor padrão para T é retornado (null para referências). Veja um trecho de código no qual eu mostro como usar o método Find() em combinação com um método personalizado que permite usar um delegate anônimo. Desta forma conseguimos fornecer, em tempo de execução, o argumento para o parâmetro match do Predicate:
static void Main(string[] args){
// vamos criar um objeto da classe List<T>
List<string> nomes = new List<string>();
// vamos inserir quatro valores na lista
nomes.Add("Osmar J. Silva");
nomes.Add("Salvador Miranda de Andrade");
nomes.Add("Dyego Fernandes de Souza");
nomes.Add("Marcos de Paula Rocha");
// vamos pesquisar um valor na lista usando um método personalizado
// Neste exemplo vamos retornar o primeiro nome que contenha a palavra
// "Dyego"
string nome = encontrar(nomes, "Dyego");
// vamos verificar se o nome foi encontrado
if(nome != null){
// foi encontrado....vamos retornar o resultado
Console.WriteLine(nome);
}
else{
Console.WriteLine("Nenhum nome encontrado.");
}
// vamos pausar a execução
Console.Write("\n\nPressione qualquer tecla para continuar...");
Console.ReadKey();
}
// método auxiliar que permite encontrar um valor na lista usando
// o método Find() da classe List<T> e um Predicate
static string encontrar(List<string> lista, string texto){
string encontrado = null;
// vamos pesquisar o valor na lista usando seu método Find()
// Aqui o primeiro nome que passar no critério de busca será retornado
encontrado = lista.Find(delegate(string valor){
return valor.Contains(texto);
});
return encontrado;
}
O método Find() executa uma busca linear. Assim, este método é uma operação O(n), onde n é a quantidade de elementos na lista. |
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como detectar qual linha ou coluna está selecionada em uma tabela JTableQuantidade de visualizações: 8 vezes |
|
Nesta dica mostrarei como podemos usar o método valueChanged() da interface ListSelectionListener para detectar qual linha ou coluna está selecionada em um objeto JTable. Essa técnica interessante, pois permite facilmente a construção de tabelas mestre-detalhe, na qual selecionamos um cliente em uma JTable e outra JTable é atualizada mostrando somente os pedidos para o cliente selecionado. Eis o resultado na imagem abaixo: ![]() Veja o código completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
public class Estudos extends JFrame{
private boolean ALLOW_COLUMN_SELECTION = false;
private boolean ALLOW_ROW_SELECTION = true;
public Estudos(){
super("Exemplo de uma tabela simples");
// colunas da tabela
String[] colunas = {"Cidade", "Estado", "Habitantes"};
// conteúdo da tabela
Object[][] conteudo = {
{"Goiânia", "GO", "43.023.432"},
{"São Paulo", "SP", "5.343.234"},
{"Rio de Janeiro", "RJ", "6.434.212"},
{"Jussara", "GO", "87.454"},
{"Barra do Garças", "MT", "64.344"}
};
// constrói a tabela
final JTable tabela = new JTable(conteudo, colunas);
tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
// permite selecionar apenas uma linha de cada vez
tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// detecta seleções de linha
if(ALLOW_ROW_SELECTION){ // verdadeiro por padrão
ListSelectionModel rowSM = tabela.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e){
if(e.getValueIsAdjusting())
return;
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if(lsm.isSelectionEmpty()){
System.out.println("Nenhuma linha selecionada.");
}
else{
int selectedRow = lsm.getMinSelectionIndex();
System.out.println("Linha " + selectedRow
+ " foi selecionada.");
}
}
});
}
else{
tabela.setRowSelectionAllowed(false);
}
if(ALLOW_COLUMN_SELECTION){ // falso por padrão
if(ALLOW_ROW_SELECTION){
tabela.setCellSelectionEnabled(true);
}
tabela.setColumnSelectionAllowed(true);
ListSelectionModel colSM = tabela.getColumnModel().getSelectionModel();
colSM.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e){
if(e.getValueIsAdjusting())
return;
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if(lsm.isSelectionEmpty()) {
System.out.println("Nenhuma coluna selecionada.");
}
else{
int selectedCol = lsm.getMinSelectionIndex();
System.out.println("Coluna "
+ selectedCol + " está selecionada.");
}
}
});
}
Container c = getContentPane();
c.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados short da linguagem JavaQuantidade de visualizações: 12698 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 ::: Strings e Caracteres |
Como comparar strings em C++ usando o método compare() da classe StringQuantidade de visualizações: 23482 vezes |
|
Nesta dica mostrarei como podemos usar a função compare() da classe String da linguagem C++ para comparar duas palavras, frases ou textos. Se as duas strings forem iguais, o valor 0 é retornado. Um valor diferente de 0 indica que as duas strings não são iguais. Lembre-se de que esta função distingue entre maiúsculas e minúsculas. Veja como esta função pode ser usada: int compare(const string& str) const; int compare(const char* s) const; Podemos chamar esta função de duas formas: a) Fornecendo uma variável como parâmetro; b) Fornecendo uma string entre aspas. Veja agora um exemplo C++ completo demonstrando o seu uso:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
string str1("Java");
string str2("JAVA");
if(str1.compare(str2) == 0){
cout << str1 << " é igual a " << str2 << "\n";
}
else{
cout << str1 << " é diferente de " << str2 << "\n";
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Java é diferente de JAVA |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






