![]() |
|
|
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. |
||
Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais |
Como obter os modificadores dos métodos de uma classe ou interface usando o método getModifiers() da classe Method da linguagem JavaQuantidade de visualizações: 9130 vezes |
|
O método getModifiers() da classe Method permite obter os modificadores (public, static, final, private, etc) de um determinado método. O retorno deste método é um valor inteiro que pode ser testado usando alguns métodos estáticos da classe Modifier. O exemplo a seguir mostra como listar todos os métodos públicos da classe javax.swing.JButton e seus modificadores:
package arquivodecodigos;
import java.lang.reflect.*;
public class Estudos{
public static void main(String args[]){
// vamos carregar a classe JButton
try{
Class c = Class.forName(
"javax.swing.JButton");
// obtém os nomes dos métodos
Method[] metodos = c.getMethods();
for(int i = 0; i < metodos.length; i++){
// obtém o nome do método
String nome = metodos[i].getName();
// obtém os modificadores
int modificador =
metodos[i].getModifiers();
String modificadores = "";
if(Modifier.isPublic(modificador))
modificadores += "public ";
if(Modifier.isPrivate(modificador))
modificadores += "private ";
if(Modifier.isProtected(modificador))
modificadores += "protected ";
if(Modifier.isStatic(modificador))
modificadores += "static ";
if(Modifier.isFinal(modificador))
modificadores += "final ";
System.out.println(nome + " - " +
modificadores);
}
}
catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
System.exit(0);
}
}
Ao executar este exemplo nós teremos uma lista gigantesca de métodos declarados e herdados pela classe javax.swing.JButton. Veja: getAccessibleContext - public getUIClassID - public isDefaultButton - public isDefaultCapable - public removeNotify - public setDefaultCapable - public updateUI - public getUI - public setAction - public setModel - public setUI - public addActionListener - public addChangeListener - public addItemListener - public doClick - public doClick - public getAction - public getActionCommand - public getActionListeners - public getChangeListeners - public getDisabledIcon - public getDisabledSelectedIcon - public getDisplayedMnemonicIndex - public getHideActionText - public getHorizontalAlignment - public getHorizontalTextPosition - public getIcon - public getIconTextGap - public getItemListeners - public getLabel - public getMargin - public getMnemonic - public getModel - public getMultiClickThreshhold - public getPressedIcon - public getRolloverIcon - public getRolloverSelectedIcon - public getSelectedIcon - public getSelectedObjects - public getText - public getVerticalAlignment - public getVerticalTextPosition - public imageUpdate - public isBorderPainted - public isContentAreaFilled - public isFocusPainted - public isRolloverEnabled - public isSelected - public removeActionListener - public removeChangeListener - public removeItemListener - public setActionCommand - public setBorderPainted - public setContentAreaFilled - public setDisabledIcon - public setDisabledSelectedIcon - public setDisplayedMnemonicIndex - public setEnabled - public setFocusPainted - public setHideActionText - public setHorizontalAlignment - public setHorizontalTextPosition - public setIcon - public setIconTextGap - public setLabel - public setLayout - public setMargin - public setMnemonic - public setMnemonic - public setMultiClickThreshhold - public setPressedIcon - public setRolloverEnabled - public setRolloverIcon - public setRolloverSelectedIcon - public setSelected - public setSelectedIcon - public setText - public setVerticalAlignment - public setVerticalTextPosition - public update - public contains - public getLocation - public print - public getSize - public isOpaque - public disable - public enable - public firePropertyChange - public firePropertyChange - public firePropertyChange - public getRootPane - public getListeners - public paintImmediately - public paintImmediately - public repaint - public repaint - public revalidate - public setAlignmentX - public setAlignmentY - public addAncestorListener - public addNotify - public addVetoableChangeListener - public computeVisibleRect - public createToolTip - public getActionForKeyStroke - public getActionMap - public final getAlignmentX - public getAlignmentY - public getAncestorListeners - public getAutoscrolls - public getBaseline - public getBaselineResizeBehavior - public getBorder - public getBounds - public getClientProperty - public final getComponentPopupMenu - public getConditionForKeyStroke - public getDebugGraphicsOptions - public getDefaultLocale - public static getFontMetrics - public getGraphics - public getHeight - public getInheritsPopupMenu - public getInputMap - public final getInputMap - public final getInputVerifier - public getInsets - public getInsets - public getMaximumSize - public getMinimumSize - public getNextFocusableComponent - public getPopupLocation - public getPreferredSize - public getRegisteredKeyStrokes - public getToolTipLocation - public getToolTipText - public getToolTipText - public getTopLevelAncestor - public getTransferHandler - public getVerifyInputWhenFocusTarget - public getVetoableChangeListeners - public getVisibleRect - public getWidth - public getX - public getY - public grabFocus - public hide - public isDoubleBuffered - public isLightweightComponent - public static isManagingFocus - public isOptimizedDrawingEnabled - public isPaintingForPrint - public final isPaintingTile - public isRequestFocusEnabled - public isValidateRoot - public paint - public printAll - public putClientProperty - public final registerKeyboardAction - public registerKeyboardAction - public removeAncestorListener - public removeVetoableChangeListener - public requestDefaultFocus - public requestFocus - public requestFocus - public requestFocusInWindow - public resetKeyboardActions - public reshape - public scrollRectToVisible - public setActionMap - public final setAutoscrolls - public setBackground - public setBorder - public setComponentPopupMenu - public setDebugGraphicsOptions - public setDefaultLocale - public static setDoubleBuffered - public setFocusTraversalKeys - public setFont - public setForeground - public setInheritsPopupMenu - public setInputMap - public final setInputVerifier - public setMaximumSize - public setMinimumSize - public setNextFocusableComponent - public setOpaque - public setPreferredSize - public setRequestFocusEnabled - public setToolTipText - public setTransferHandler - public setVerifyInputWhenFocusTarget - public setVisible - public unregisterKeyboardAction - public add - public add - public add - public add - public add - public remove - public remove - public list - public list - public removeAll - public addPropertyChangeListener - public addPropertyChangeListener - public getComponent - public getComponentCount - public getComponents - public getFocusTraversalPolicy - public invalidate - public isFocusCycleRoot - public isFocusCycleRoot - public setFocusTraversalPolicy - public addContainerListener - public applyComponentOrientation - public areFocusTraversalKeysSet - public countComponents - public deliverEvent - public doLayout - public findComponentAt - public findComponentAt - public getComponentAt - public getComponentAt - public getComponentZOrder - public getContainerListeners - public getFocusTraversalKeys - public getLayout - public getMousePosition - public insets - public isAncestorOf - public isFocusTraversalPolicyProvider - public final isFocusTraversalPolicySet - public layout - public locate - public minimumSize - public paintComponents - public preferredSize - public printComponents - public removeContainerListener - public setComponentZOrder - public setFocusCycleRoot - public setFocusTraversalPolicyProvider - public final transferFocusDownCycle - public validate - public add - public remove - public toString - public getName - public contains - public size - public getLocation - public getParent - public setName - public list - public list - public list - public getSize - public location - public setSize - public setSize - public resize - public resize - public enable - public firePropertyChange - public firePropertyChange - public firePropertyChange - public firePropertyChange - public firePropertyChange - public action - public isEnabled - public isFocusOwner - public removePropertyChangeListener - public removePropertyChangeListener - public repaint - public repaint - public repaint - public getBackground - public getBounds - public getFocusCycleRootAncestor - public getFont - public getForeground - public getPeer - public getPropertyChangeListeners - public getPropertyChangeListeners - public getTreeLock - public final isDisplayable - public isMaximumSizeSet - public isMinimumSizeSet - public isPreferredSizeSet - public isShowing - public isVisible - public nextFocus - public setBounds - public setBounds - public setLocale - public setLocation - public setLocation - public dispatchEvent - public final getGraphicsConfiguration - public getMousePosition - public handleEvent - public isFocusable - public isLightweight - public isValid - public postEvent - public transferFocus - public transferFocusBackward - public addComponentListener - public addFocusListener - public addHierarchyBoundsListener - public addHierarchyListener - public addInputMethodListener - public addKeyListener - public addMouseListener - public addMouseMotionListener - public addMouseWheelListener - public bounds - public checkImage - public checkImage - public createImage - public createImage - public createVolatileImage - public createVolatileImage - public enableInputMethods - public getColorModel - public getComponentListeners - public getComponentOrientation - public getCursor - public getDropTarget - public getFocusListeners - public getFocusTraversalKeysEnabled - public getHierarchyBoundsListeners - public getHierarchyListeners - public getIgnoreRepaint - public getInputContext - public getInputMethodListeners - public getInputMethodRequests - public getKeyListeners - public getLocale - public getLocationOnScreen - public getMouseListeners - public getMouseMotionListeners - public getMouseWheelListeners - public getToolkit - public gotFocus - public hasFocus - public inside - public isBackgroundSet - public isCursorSet - public isFocusTraversable - public isFontSet - public isForegroundSet - public keyDown - public keyUp - public lostFocus - public mouseDown - public mouseDrag - public mouseEnter - public mouseExit - public mouseMove - public mouseUp - public move - public paintAll - public prepareImage - public prepareImage - public removeComponentListener - public removeFocusListener - public removeHierarchyBoundsListener - public removeHierarchyListener - public removeInputMethodListener - public removeKeyListener - public removeMouseListener - public removeMouseMotionListener - public removeMouseWheelListener - public setComponentOrientation - public setCursor - public setDropTarget - public setFocusTraversalKeysEnabled - public setFocusable - public setIgnoreRepaint - public show - public show - public transferFocusUpCycle - public wait - public final wait - public final wait - public final equals - public hashCode - public getClass - public final notify - public final notifyAll - public final |
GoLang ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como declarar variáveis em Go usando var e sem definir o tipo da variávelQuantidade de visualizações: 859 vezes |
|
Em algumas situações nós queremos declarar variáveis na linguagem Go mas não queremos definir de antemão o tipo, ou seja, se ela será do tipo int, float, boolean, string, etc. Essa situação é muito comum quando a variável receberá o retorno de uma função. Quando não definimos o tipo da variável, a própria linguagem se encarrega de fazer isso para nós, por meio da inferência de tipos. Assim, dependendo do valor que a variável recebe, o seu tipo será definido automaticamente. Veja um exemplo:
// pacote principal
package main
// vamos importar os módulos necessários
import (
"fmt"
)
// esta é a função principal do programa
func main() {
// vamos declarar uma variável do tipo real
// Como não definimos o tipo, ele será
// automaticamente float64
var salario = 1250.94
// vamos mostrar o tipo da variável
fmt.Printf("O tipo da variável é: %T", salario)
}
Ao executarmos este código Golang nós teremos o seguinte resultado: O tipo da variável é: float64 |
C# ::: Threads ::: Thread |
Como usar a classe Thread para criar threads em seus programas C#Quantidade de visualizações: 12627 vezes |
A classe Thread permite criar e controlar uma thread, além de definir sua prioridade e obter seu status. Veja a posição desta classe na hierarquia de classes da plataforma .NET:
System.Object
System.Runtime.ConstrainedExecution.CriticalFinalizerObject
System.Threading.Thread
Um processo pode criar uma ou mais threads para executar parte do código do programa associado a tal processo. Usamos um delegate ThreadStart ou um delegate ParameterizedThreadStart para especificar o código do programa que será executado pela thread. O delegate ParameterizedThreadStart nos permite passar dados para as funções a serem executadas pela thread. Durante seu ciclo de vida, uma thread está sempre em um ou mais dos estados definidos pela enumeração ThreadState. Um nível de prioridade de agendamento, como definido na enumeração ThreadPriority, pode ser requisitado para a thread, mas, este comportamento nem sempre é garantido pelo sistema operacional. O método GetHashCode() fornece identificação para threads gerenciadas. Durante o ciclo de vida de uma thread, seu código de identificação não colidirá com os códigos das demais threads, independente do domínio da aplicação a partir do qual obtemos tal valor. Veja um trecho de código no qual criamos uma thread e a agendamos para execução paralela com a thread principal da aplicação. Note como os valores dos dois laços são exibidos de forma compartilhada pelas duas threads, ou seja, um thread exibe alguns valores e pára, para permitir que a outra faça parte do seu trabalho:
class Program{
static void Main(string[] args){
// using using System.Threading;
// vamos criar uma nova instância da clase Thread
// e fornecer o método que será executado
Thread thread = new Thread(contar);
// vamos agendar a thread para futura execução
thread.Start();
// agora vamos contar na thread principal
for (int i = 0; i <= 20; i++){
Console.Write("#" + Thread.CurrentThread.GetHashCode()
+ ": " + i + ", ");
}
Console.Write("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
// método que será chamado pela thread
static void contar(){
for (int i = 0; i <= 20; i++){
Console.Write("#" + Thread.CurrentThread.GetHashCode()
+ ": " + i + ", ");
}
}
}
Aqui eu usei a sintáxe de criação de objetos da classe Thread que cria uma instância de ThreadStart nos bastidores, ou seja, forneci apenas o método a ser executado pela nova thread. Note também que uma chamada ao método Start() da thread não faz com que a thread seja executada imediatamente. Este método apenas torna a thread elegível para execução, ou seja, no estado "pronta" (Running). É o sistema operacional que determina quando a mesma será executada. |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar, preencher e exibir os valores de uma matriz de duas dimensões de inteiros em Java - RevisadoQuantidade de visualizações: 13108 vezes |
|
Nesta dica mostrarei como declarar e instanciar uma matriz (array) de duas dimensões de ints em Java. Note que temos duas linhas e cada linha possui duas colunas. Neste exemplo os valores da matriz já estão pré-definidos, mas você pode ver mais dicas nessa seção para aprender como solicitar que o usuário informe os valores de cada linha de coluna. Veja o código completo:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
int valores[][] = {{1, 2, 3}, {4, 5, 6}};
// varre todos os elementos do array e os
// exibe usando linhas e colunas
for(int lin = 0; lin < valores.length; lin++){
for(int col = 0; col < valores[lin].length; col++){
System.out.printf("%d ", valores[lin][col]);
}
System.out.println();
}
System.exit(0);
}
}
Ao executar este exemplo nós teremos o seguinte resultado: 1 2 3 4 5 6 Esta dica foi revisada e testada no Java 8. |
Nossas 20 dicas & truques de programação mais populares |
|
VB.NET - Como comparar strings em VB.NET usando o método Equals() da classe String do .NET Framework |
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 |
|
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 |




