![]() |
|
|
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 Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
Java ::: Classes e Componentes ::: JComponent |
Java Swing - Como usar a classe JComponent em suas aplicações Java SwingQuantidade de visualizações: 13384 vezes |
|
A classe JComponent serve como classe base abstrata a partir da qual todos os componentes Swing herdam suas funcionalidades. Esta classe herda da Classe Container, que por sua vez herda de Component, que herda de Object. Várias classes do Java Swing herdam de JComponent, direta ou indiretamente. Por exemplo, a classe JButton herda de javax.swing.AbstractButton, que, por sua vez, herda de javax.swing.JComponent. Entender o papel da classe JComponent é muito importante, pois nos permite o uso de polimorfismo e também de vários design patterns. Sendo assim, analise o seguinte código Java Swing:
package arquivodecodigos;
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("Minha primeira aplicação GUI");
// vamos declarar um objeto da classe JComponent
// e atribuir a ele um JButton
JComponent btn = new JButton("Clique Aqui");
getContentPane().add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Veja que declaramos uma variável do tipo JComponent e atribuímos a ela um objeto da classe JButton. Isso é perfeitamente possível, já que JButton herda de JComponent, ainda que indiretamente. Entre as classes que herdam de JComponent estão: AbstractButton, BasicInternalFrameTitlePane, Box, Box.Filler, JColorChooser, JComboBox, JFileChooser, JInternalFrame, JInternalFrame.JDesktopIcon, JLabel, JLayeredPane, JList, JMenuBar, JOptionPane, JPanel, JPopupMenu, JProgressBar, JRootPane, JScrollBar, JScrollPane, JSeparator, JSlider, JSpinner, JSplitPane, JTabbedPane, JTable, JTableHeader, JTextComponent, JToolBar, JToolTip, JTree, JViewport. |
Java ::: Dicas & Truques ::: Formatação de datas, strings e números |
Como usar o método format() da classe NumberFormat do Java para formatar um valor float ou double de acordo com as configurações regionais - RevisadoQuantidade de visualizações: 11947 vezes |
|
Nesta dica mostrarei como usar o método format() da classe NumberFormat da linguagem Java. Esta classe está no pacote java.text e é usada para a formatação e análise de valores numéricos. Note como usei o método getInstance() sem argumentos. Isso nos permite retornar uma instância de NumberFormat de acordo com as configurações regionais da máquina na qual o código está sendo executado. Veja o código completo:
package arquivodecodigos;
import java.text.NumberFormat;
public class Estudos{
public static void main(String[] args){
// vamos double a ser formatado
double valor = 1234567.89;
// vamos obter uma instância de acordo com as configurações
// regionais
NumberFormat nf = NumberFormat.getInstance();
// e agora usamos o método format() para formatar
String numFormatado = nf.format(valor);
// exibimos o valor original
System.out.println("Sem formatação: " + valor);
// com formatação
System.out.println("Com formatação: " + numFormatado);
}
}
Ao executar este código nós teremos o seguinte resultado: Sem formatação: 1234567.89 Com formatação: 1.234.567,89 Esta dica foi revisada e testada no Java 8. |
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Java para iniciantes - Como tratar o erro OutOfMemoryError no JavaQuantidade de visualizações: 12559 vezes |
|
O erro OutOfMemoryError é apresentado quando a Java Virtual Machine (JVM) não consegue alocar um objeto por falta de memória e o Garbagge Collector não liberou mais memória ainda. Este é um erro que não deve ser apanhado em um bloco try...catch, ou seja, se não há memória para alocar novos objetos, é fácil entender que não haverá memória para tal procedimento. O melhor a fazer é deixar o programa terminar e verificar a causa do problema. Veja a posição da classe OutOfMemoryError na hierarquia de classes da plataforma Java:
java.lang.Object
java.lang.Throwable
java.lang.Error
java.lang.VirtualMachineError
java.lang.OutOfMemoryError
Esta classe implementa a interface Serializable. Uma das causas mais comuns para o erro OutOfMemoryError é a instanciação exagerada de objetos, principalmente em laços (loops). Uma forma de aumentar a memória RAM a ser usada é definindo opções na linha de comando para o java.exe. Algumas destas opções são -Xss64k -Xoss300k -Xms4m e -Xmx10m. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 13689 vezes |
|
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa Java que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno 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) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos ler o primeiro lado do triângulo
System.out.print("Informe o primeiro lado do triângulo: ");
int ladoA = Integer.parseInt(entrada.nextLine());
// vamos ler o segundo lado do triângulo
System.out.print("Informe o segundo lado do triângulo: ");
int ladoB = Integer.parseInt(entrada.nextLine());
// vamos ler o terceiro lado do triângulo
System.out.print("Informe o terceiro lado do triângulo: ");
int ladoC = Integer.parseInt(entrada.nextLine());
// os lados informados formam um triângulo?
if((ladoA < (ladoB + ladoC)) && (ladoB < (ladoA + ladoC))
&& (ladoC < (ladoA + ladoB))){
// é um triângulo equilátero (todos os lados iguais)?
if((ladoA == ladoB) && (ladoB == ladoC)){
System.out.println("O triângulo é equilátero");
}
else{
// é isósceles (dois lados iguais e um diferente)?
if((ladoA == ladoB) || (ladoA == ladoC) || (ladoC == ladoB)){
System.out.println("O triângulo é isósceles");
}
else{
// é escaleno
System.out.println("O triângulo é escaleno");
}
}
}
else{
System.out.println("Os lados informados não formam um triângulo.");
}
}
}
|
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como adicionar caracteres ao final de uma string C++ usando a função push_back()Quantidade de visualizações: 9753 vezes |
A função push_back() do C++ é útil quando precisamos adicionar caracteres individuais ao final de uma string. Veja um exemplo:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
string str = "Gosto muito de PHP";
string temp;
// vamos percorrer os caracteres da primeira string
// e adicioná-los na segunda um de cada vez
for(int i = 0; i < str.length(); i++){
temp.push_back(str[i]);
}
// exibe o resultado
cout << temp << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Gosto muito de PHP Note que usamos um laço for para percorrer individualmente todos os caracteres da primeira string e adicioná-los um de cada vez na segunda string. Veja uma variação deste código, no qual exibimos o conteúdo da primeira string invertido:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
string str = "Gosto muito de PHP";
string temp;
// vamos percorrer os caracteres da primeira string
// e adicioná-los na segunda um de cada vez.
// desta vez vamos obter o resultado invertido
for(int i = str.length() - 1; i >= 0; i--){
temp.push_back(str[i]);
}
// exibe o resultado
cout << "String original: " << str << endl;
cout << "String invertida: " << temp << endl;;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este novo código C++ nós teremos o seguinte resultado: String original: Gosto muito de PHP String invertida: PHP ed otium otsoG |
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 |



