![]() |
|
|
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 usar o método getMethods() da classe Class - Como listar todos os métodos de uma classe ou interface Java em tempo de execução - RevisadoQuantidade de visualizações: 9856 vezes |
|
O método getMethods() da classe Class permite obter um vetor contendo todos os métodos públicos de uma classe ou interface. Este método retorna um vetor de objetos da classe Method[] e pode atirar uma exceção SecurityException. Veja que os métodos herdados de e por superclasses da classe sendo investigada são também retornados. O exemplo a seguir mostra como listar todos os métodos públicos da classe javax.swing.JButton (veja como usamos o método getName() da classe Method para obter o nome do método):
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();
// exibe o nome de cada método
for(int i = 0; i < metodos.length; i++){
System.out.println(metodos[i].getName() + ", ");
}
}
catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
System.exit(0);
}
}
Note que aqui nós estamos usando o método getName() da classe Method para retornar apenas o nome do método. Nesta seção você encontra exemplos de como obter também o tipo de retorno dos métodos de um determinada classe ou interface. A execução desse código gera uma lista gigante de métodos. Vou mostrá-los abaixo para que você tenha uma idéia do funcionamento real: getAccessibleContext(), getUIClassID(), isDefaultButton(), isDefaultCapable(), removeNotify(), setDefaultCapable(), updateUI(), getUI(), setAction(), setModel(), setUI(), addActionListener(), addChangeListener(), addItemListener(), doClick(), doClick(), getAction(), getActionCommand(), getActionListeners(), getChangeListeners(), getDisabledIcon(), getDisabledSelectedIcon(), getDisplayedMnemonicIndex(), getHideActionText(), getHorizontalAlignment(), getHorizontalTextPosition(), getIcon(), getIconTextGap(), getItemListeners(), getLabel(), getMargin(), getMnemonic(), getModel(), getMultiClickThreshhold(), getPressedIcon(), getRolloverIcon(), getRolloverSelectedIcon(), getSelectedIcon(), getSelectedObjects(), getText(), getVerticalAlignment(), getVerticalTextPosition(), imageUpdate(), isBorderPainted(), isContentAreaFilled(), isFocusPainted(), isRolloverEnabled(), isSelected(), removeActionListener(), removeChangeListener(), removeItemListener(), setActionCommand(), setBorderPainted(), setContentAreaFilled(), setDisabledIcon(), setDisabledSelectedIcon(), setDisplayedMnemonicIndex(), setEnabled(), setFocusPainted(), setHideActionText(), setHorizontalAlignment(), setHorizontalTextPosition(), setIcon(), setIconTextGap(), setLabel(), setLayout(), setMargin(), setMnemonic(), setMnemonic(), setMultiClickThreshhold(), setPressedIcon(), setRolloverEnabled(), setRolloverIcon(), setRolloverSelectedIcon(), setSelected(), setSelectedIcon(), setText(), setVerticalAlignment(), setVerticalTextPosition(), update(), contains(), getLocation(), print(), getSize(), isOpaque(), disable(), enable(), addAncestorListener(), addNotify(), addVetoableChangeListener(), computeVisibleRect(), createToolTip(), getActionForKeyStroke(), getActionMap(), getAlignmentX(), getAlignmentY(), getAncestorListeners(), getAutoscrolls(), getBaseline(), getBaselineResizeBehavior(), getBorder(), getBounds(), getClientProperty(), getComponentPopupMenu(), getConditionForKeyStroke(), getDebugGraphicsOptions(), getDefaultLocale(), getFontMetrics(), getGraphics(), getHeight(), getInheritsPopupMenu(), getInputMap(), getInputMap(), getInputVerifier(), getInsets(), getInsets(), getMaximumSize(), getMinimumSize(), getNextFocusableComponent(), getPopupLocation(), getPreferredSize(), getRegisteredKeyStrokes(), getToolTipLocation(), getToolTipText(), getToolTipText(), getTopLevelAncestor(), getTransferHandler(), getVerifyInputWhenFocusTarget(), getVetoableChangeListeners(), getVisibleRect(), getWidth(), getX(), getY(), grabFocus(), hide(), isDoubleBuffered(), isLightweightComponent(), isManagingFocus(), isOptimizedDrawingEnabled(), isPaintingForPrint(), isPaintingTile(), isRequestFocusEnabled(), isValidateRoot(), paint(), printAll(), putClientProperty(), registerKeyboardAction(), registerKeyboardAction(), removeAncestorListener(), removeVetoableChangeListener(), requestDefaultFocus(), requestFocus(), requestFocus(), requestFocusInWindow(), resetKeyboardActions(), reshape(), scrollRectToVisible(), setActionMap(), setAutoscrolls(), setBackground(), setBorder(), setComponentPopupMenu(), setDebugGraphicsOptions(), setDefaultLocale(), setDoubleBuffered(), setFocusTraversalKeys(), setFont(), setForeground(), setInheritsPopupMenu(), setInputMap(), setInputVerifier(), setMaximumSize(), setMinimumSize(), setNextFocusableComponent(), setOpaque(), setPreferredSize(), setRequestFocusEnabled(), setToolTipText(), setTransferHandler(), setVerifyInputWhenFocusTarget(), setVisible(), unregisterKeyboardAction(), firePropertyChange(), firePropertyChange(), firePropertyChange(), getRootPane(), getListeners(), paintImmediately(), paintImmediately(), repaint(), repaint(), revalidate(), setAlignmentX(), setAlignmentY(), add(), add(), add(), add(), add(), remove(), remove(), list(), list(), removeAll(), setFocusTraversalPolicyProvider(), transferFocusDownCycle(), validate(), getComponent(), getComponentCount(), getComponents(), getFocusTraversalPolicy(), invalidate(), isFocusCycleRoot(), isFocusCycleRoot(), setFocusTraversalPolicy(), addContainerListener(), applyComponentOrientation(), areFocusTraversalKeysSet(), countComponents(), deliverEvent(), doLayout(), findComponentAt(), findComponentAt(), getComponentAt(), getComponentAt(), getComponentZOrder(), getContainerListeners(), getFocusTraversalKeys(), getLayout(), getMousePosition(), insets(), isAncestorOf(), isFocusTraversalPolicyProvider(), isFocusTraversalPolicySet(), layout(), locate(), minimumSize(), paintComponents(), preferredSize(), printComponents(), removeContainerListener(), setComponentZOrder(), setFocusCycleRoot(), addPropertyChangeListener(), addPropertyChangeListener(), add(), remove(), toString(), getName(), contains(), size(), getLocation(), getParent(), setName(), list(), list(), list(), getSize(), location(), setSize(), setSize(), resize(), resize(), enable(), transferFocus(), transferFocusBackward(), addComponentListener(), addFocusListener(), addHierarchyBoundsListener(), addHierarchyListener(), addInputMethodListener(), addKeyListener(), addMouseListener(), addMouseMotionListener(), addMouseWheelListener(), bounds(), checkImage(), checkImage(), createImage(), createImage(), createVolatileImage(), createVolatileImage(), enableInputMethods(), getColorModel(), getComponentListeners(), getComponentOrientation(), getCursor(), getDropTarget(), getFocusListeners(), getFocusTraversalKeysEnabled(), getHierarchyBoundsListeners(), getHierarchyListeners(), getIgnoreRepaint(), getInputContext(), getInputMethodListeners(), getInputMethodRequests(), getKeyListeners(), getLocale(), getLocationOnScreen(), getMouseListeners(), getMouseMotionListeners(), getMouseWheelListeners(), getToolkit(), gotFocus(), hasFocus(), inside(), isBackgroundSet(), isCursorSet(), isFocusTraversable(), isFontSet(), isForegroundSet(), keyDown(), keyUp(), lostFocus(), mouseDown(), mouseDrag(), mouseEnter(), mouseExit(), mouseMove(), mouseUp(), move(), paintAll(), prepareImage(), prepareImage(), removeComponentListener(), removeFocusListener(), removeHierarchyBoundsListener(), removeHierarchyListener(), removeInputMethodListener(), removeKeyListener(), removeMouseListener(), removeMouseMotionListener(), removeMouseWheelListener(), setComponentOrientation(), setCursor(), setDropTarget(), setFocusTraversalKeysEnabled(), setFocusable(), setIgnoreRepaint(), show(), show(), transferFocusUpCycle(), getBackground(), getBounds(), getFocusCycleRootAncestor(), getFont(), getForeground(), getPeer(), getPropertyChangeListeners(), getPropertyChangeListeners(), getTreeLock(), isDisplayable(), isMaximumSizeSet(), isMinimumSizeSet(), isPreferredSizeSet(), isShowing(), isVisible(), nextFocus(), setBounds(), setBounds(), setLocale(), setLocation(), setLocation(), dispatchEvent(), getGraphicsConfiguration(), getMousePosition(), handleEvent(), isFocusable(), isLightweight(), isValid(), postEvent(), firePropertyChange(), firePropertyChange(), firePropertyChange(), firePropertyChange(), firePropertyChange(), action(), isEnabled(), isFocusOwner(), removePropertyChangeListener(), removePropertyChangeListener(), repaint(), repaint(), repaint(), wait(), wait(), wait(), equals(), hashCode(), getClass(), notify(), notifyAll(), Esta dica foi revisada e atualizada para o Java 8. |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como arredondar casas decimais para baixo usando a função Floor() do DelphiQuantidade de visualizações: 14591 vezes |
A função Floor(), presente na unit Math, é útil quando queremos arrendondar valores de ponto-flutuante (valores com casas decimais) para baixo, ou seja, para o maior inteiro menor ou igual ao valor fornecido. Veja um exemplo:
procedure TForm2.Button1Click(Sender: TObject);
var
valor: Real;
resultado: Integer;
begin
// uses Math
valor := 8.74;
// vamos arredondar o valor para baixo
// o resultado será 8
resultado := Floor(valor);
// exibe o resultado
ShowMessage('O valor arredondado para baixo é: ' +
IntToStr(resultado));
end;
Note que os valores 8.0001, 8.3, 8.1, 8.99, etc, serão todos arredondados para 8. No entanto, 9.0 é arredondado para 9. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como trabalhar com strings em RubyQuantidade de visualizações: 8814 vezes |
|
Strings em Ruby são usadas para representar palavras, frases e textos e são bem parecidas com strings em outras linguagens dinâmicas, tais como Perl, Python e PHP. Além disso, strings em Ruby são dinâmicas, mutáveis e flexíveis. Podemos declarar e definir uma variável do tipo string em Ruby da seguinte forma: nome = "Osmar J. Silva" puts nome Em ruby, strings são objetos da classe String. Isso quer dizer que podemos efetuar chamadas à uma grande variedade de métodos desta classe a partir de qualquer variável do tipo string. Veja um exemplo: nome = "Osmar" puts nome.length Este exemplo exibirá a quantidade de caracteres contidos na string nome. Strings em Ruby podem estar contidas em aspas duplas ou aspas simples: nome = "Osmar J Silva" puts(nome) nome = 'Osmar J Silva' puts(nome) A diferença é que, quando usamos aspas duplas, podemos codificar dados binários dentro da string, assim como usar "\n" para provocar quebras de linha. Quando usamos aspas simples, podemos usar apenas "\'" para exibir uma aspa simples e "\\" para exibir uma barra invertida. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteirosQuantidade de visualizações: 2536 vezes |
|
Pergunta/Tarefa: Escreva um método recursivo que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Seu método deverá ter a seguinte assinatura:
public static int quantRepeticoes(int indice, int valor, int[] vetor){
// sua implementação aqui
}
Informe o 1 valor: 2 Informe o 2 valor: 7 Informe o 3 valor: 4 Informe o 4 valor: 7 Informe o 5 valor: 1 Informe o valor a ser pesquisado no vetor: 7 O valor informado se repete 2 vezes. Veja a resolução comentada deste exercício usando Java console:
package exercicio;
import java.util.Scanner;
public class Exercicio {
public static void main(String[] args) {
// cria um novo objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos declarar um vetor de 10 inteiros
int valores[] = new int[5];
// vamos pedir ao usuário que informe os valores do vetor
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o " + (i + 1) + " valor: ");
// efetua a leitura do valor informado para a posição atual do vetor
valores[i] = Integer.parseInt(entrada.nextLine());
}
// agora vamos pedir para informar o valor a ser pesquisado
System.out.print("\nInforme o valor a ser pesquisado no vetor: ");
int valor = Integer.parseInt(entrada.nextLine());
// e vamos ver a quantidade de repetições
int repeticoes = quantRepeticoes(0, valor, valores);
System.out.print("O valor informado se repete " + repeticoes + " vezes.");
System.out.println("\n");
}
// método recursivo que recebe um valor
public static int quantRepeticoes(int indice, int valor, int[] vetor){
if(indice == vetor.length - 1){ // caso base...hora de parar a recursividade
if(vetor[indice] == valor){
return 1; // mais um repetição foi encontrada
}
}
else{ // dispara mais uma chamada recursiva
if(vetor[indice] == valor){ // houve mais uma repetição
return 1 + quantRepeticoes(indice + 1, valor, vetor);
}
else{
return 0 + quantRepeticoes(indice + 1, valor, vetor); // não repetiu
}
}
return 0; // só para deixar o compilador satisfeito...esta linha nunca é executada
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
VB.NET - Como adicionar horas à data e hora atual em VB.NET usando a função AddHours() da classe DateTime |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Python - Como usar a biblioteca Pandas do Python em seus projetos de Data Science e Machine Learning |
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 |




