Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Java ::: Classes e Componentes ::: JTree

Entendendo a interface TreeModel

Quantidade de visualizações: 8733 vezes


A interface TreeModel gerencia os dados a serem usados em uma JTree, assumindo que cada nó mantém um array de nós filhos. Nós são representados como Objects e um nó raiz separado é definido.

Esta interface fornece métodos para:
  • getChild(Object parent, int index) - Obter um nó baseado em um nó pai e índice;
  • getChildCount(Object parent) - Obter a quantidade de filhos de um determinado nó;
  • getIndexOfChild(Object parent, Object child) - Retornar o índice de um determinado nó baseado em um determinado pai;
  • isLeaf(Object node) - Verificar se um determinado nós é uma folha (não possui filhos);
  • valueForPathChanged(TreePath path, Object newValue) - Notificar a JTree que um nó destino de um determinado TreePath foi modificado.
Esta interface também fornece métodos para adicionar ou remover TreeModelListeners, os quais devem ser notificados quando nós são adicionados, removidos ou alterados. Estes métodos são: addTreeModelListener(TreeModelListener l) e removeTreeModelListener(TreeModelListener l). O TreeModel de uma JTree pode ser obtido ou definido usando-se os métodos getModel() e setModel().

Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Strings e Caracteres

Como inverter uma string em Java usando o método reverse() da classe StringBuffer

Quantidade de visualizações: 167 vezes
Nesta dica mostrarei como podemos usar o método reverse() da classe StringBuffer ou StringBuilder para inverter a ordem dos caracteres de uma palavra, frase ou texto em Java. Note como convertemos uma String em um StringBuffer, fazemos a inversão da frase e depois convertemos novamente o StringBuffer em um objeto String.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

public class Estudos {
  public static void main(String[] args){
    // vamos criar uma string
    String frase = "JAVA É BOM DEMAIS";
    // vamos mostrar a frase original
    System.out.println("String original: " + frase);
    
    // agora vamos criar um objeto StringBuffer
    StringBuffer temp = new StringBuffer(frase);
    // vamos inverter a string agora
    temp.reverse();
    // e agora mostramos o resultado
    frase = temp.toString();
    System.out.println("String invertida: " + frase);    
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

String original: JAVA É BOM DEMAIS
String invertida: SIAMED MOB É AVAJ


Java ::: Java Swing - Componentes Visuais ::: JList

Como retornar os valores selecionados em uma JList de seleção múltipla do Java Swing usando o método getSelectedValues()

Quantidade de visualizações: 9524 vezes
Nesta dica mostrarei como podemos usar o método getSelectedValues() da classe JList do Java Swing para obter e retornar um vetor (array) contendo os valores selecionados em uma lista de múltipla seleção, ou seja, uma JList que permite a seleção de mais de um elemento por vez.

O método getSelectedValues() retorna um vetor de Object. Note também o uso da constante ListSelectionModel.MULTIPLE_INTERVAL_SELECTION fornecida para o método setSelectionMode() para definir a forma de seleção da JList.

Veja o código Java Swing completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Estudos extends JFrame{
  JList lista;  

  public Estudos() {
    super("A classe JList");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
    
    // Cria os itens da lista
    String nomes[] = {"Carlos", "Marcelo", "Fabiana",
      "Carolina", "Osmar"};

    // Cria a JList
    lista = new JList(nomes);
 
    // Define a seleção múltipla para a lista
    lista.setSelectionMode(
      ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    // Um botão que permite obter os valores selecionados
    JButton btn = new JButton("Obter valores selecionados");
    btn.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          Object[] valores = lista.getSelectedValues();
          String res = "Valores selecionados:\n";

          for(int i = 0; i < valores.length; i++)
            res += valores[i].toString() + "\n";

          JOptionPane.showMessageDialog(null, res);
        }
      }
    );

    // Adiciona a lista à janela
    c.add(new JScrollPane(lista));

    // Adiciona o botão à janela
    c.add(btn);  

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Mais de um valor pode ser marcado na JList mantendo a tecla Ctrl ou Shift enquanto se clica nos valores desejados.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Um programa Java que gera um número randômico na faixa de 20 a 40 (valores inclusos) e exibe o seno, cosseno e tangente

Quantidade de visualizações: 486 vezes
Pergunta/Tarefa:

Escreva um programa Java que gera um número randômico na faixa de 20 a 40 (valores inclusos) e exibe o seno, cosseno e tangente do número aleatório gerado.

Sua saída deve ser parecida com:

O número gerado foi: 26
O seno do número gerado é: 0.7625584504796028
O cosseno do número gerado é: 0.6469193223286404
A tangente do número gerado é: 1.1787535542062797

O número gerado foi: 40
O seno do número gerado é: 0.7451131604793488
O cosseno do número gerado é: -0.6669380616522619
A tangente do número gerado é: -1.117214930923896
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

import java.util.Random;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    int numero_rand;
    double seno, cosseno, tangente;
    
    // vamos gerar o número aleatório na faixa 20-40
    Random rand = new Random();
    numero_rand = rand.nextInt(21) + 20;
    System.out.println("O número gerado foi: " + numero_rand);
    
    // vamos gerar o seno do número sorteado
    seno = Math.sin(numero_rand);
    System.out.println("O seno do número gerado é: " + seno);
    
    // vamos gerar o cosseno do número sorteado
    cosseno = Math.cos(numero_rand);
    System.out.println("O cosseno do número gerado é: " + cosseno);
    
    // agora a tangente do número sorteado
    tangente = Math.tan(numero_rand);
    System.out.println("A tangente do número gerado é: " + tangente);
  }
}



Java ::: Coleções (Collections) ::: HashMap

Como testar se uma determinada chave está contida no HashMap do Java usando o método containsKey()

Quantidade de visualizações: 8413 vezes
Em algumas situações precisamos verificar se uma determinada chave está contida no HashMap. Para isso podemos usar o método containsKey(), definido originalmente na interface Map. Veja sua assinatura:

public boolean containsKey(Object key)


Note que este método recebe um objeto contendo o valor da chave a ser pesquisada e retorna um valor true se o HashMap contiver a chave e false caso contrário. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    
    // vamos criar uma instância de HashMap
    HashMap<Integer, String> clientes = new HashMap<>();

    // vamos adicionar três chaves e seus valores
    clientes.put(1, "Osmar J. Silva");
    clientes.put(2, "Salvador Miranda de Andrade");
    clientes.put(3, "Marcos da Costa Santos");
      
    // vamos verificar se a chave 2 está contida no HashMap
    if(clientes.containsKey(2)){
      System.out.println("A chave está contida no mapa");
    }
    else{
      System.out.println("A chave NÃO está contida no mapa");
    }

    System.exit(0);
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

A chave está contida no mapa


Java ::: Pacote java.awt.event ::: KeyEvent

Java Swing - Como obter o código da tecla pressionada usando o método getKeyCode() da classe KeyEvent do Java

Quantidade de visualizações: 4342 vezes
O método getKeyCode() da classe KeyEvent é usado quando queremos obter o código da tecla pressionada durante um evento KEY_PRESSED ou KEY_RELEASED. Para o evento KEY_TYPED, o keyCode é VK_UNDEFINED.

Veja um trecho de código no qual usamos o método getKeyCode() para obter e informar o código da tecla pressionada durante um evento keyPressed:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Janela extends JFrame implements KeyListener{
  public Janela(){
    super("Eventos do Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    // vamos adicionar o objeto listener 
    addKeyListener(this);

    setSize(350, 250);
    setVisible(true);
  }
    
  @Override
  public void keyPressed(KeyEvent e){
    // vamos obter o código da tecla pressionada
    int codigo = e.getKeyCode();
    JOptionPane.showMessageDialog(null, "O código da tecla pressionada é: " + codigo);  
  }
    
  @Override
  public void keyReleased(KeyEvent e){
    // sem implementação
  }

  @Override
  public void keyTyped(KeyEvent e){
    // sem implementação
  }   
  
  public static void main(String args[]){
    Janela j = new Janela();
    j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executar este código e pressionarmos uma tecla nós teremos o seguinte resultado:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

O código da tecla pressionada é: 65

É importante observar que o código da tecla pode ser obtido somente nos eventos keyPressed e keyReleased. Para o evento keyTyped o retorno do método getKeyCode() é VK_UNDEFINED.


Java ::: Dicas & Truques ::: Timers

Java Swing Exemplo completo: Como usar um timer para atualizar a hora atual em uma JLabel

Quantidade de visualizações: 17045 vezes
Este exemplo mostra como criar uma janela JFrame contendo dois botões JButton, um label JLabel e um timer (java.awt.Timer). Quando o timer dispara, o texto da label é atualizado para refletir a hora atual.

Veja o resultado na imagem abaixo:



E aqui está o código Java Swing completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivodecodigos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Calendar;
import java.text.DecimalFormat;
 
public class Estudos extends JFrame{
  JLabel hora;  
  Timer timer; 
  DecimalFormat formato;
 
  public Estudos() {
    super("Usando timers em Java");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
 
    formato = new DecimalFormat("00"); 
 
    // Cria o timer
    timer = new Timer(1000, new ActionListener(){
      @Override
      public void actionPerformed(ActionEvent e){
        atualizarHoras();
      }
    });
 
    // Cria um botão com o texto "Iniciar"
    JButton iniciar = new JButton("Iniciar");
    iniciar.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          timer.start(); // inicia o timer
        }
      }
    );    
 
    // Cria um botão com o texto "Parar"
    JButton parar = new JButton("Parar");
    parar.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          timer.stop(); // pára o timer
        }
      }
    );
     
    // JLabel que exibirá a hora atual
    hora = new JLabel("00:00:00");
 
    // Adiciona os botões à janela
    c.add(iniciar);
    c.add(parar);
 
    // adiciona o label à janela
    c.add(hora);  
 
    setSize(350, 250);
    setVisible(true);
  }
   
  private void atualizarHoras(){
    // Cria uma instância de Calendar
    Calendar agora = Calendar.getInstance();    
 
    // horas, minutos e segundos
    int horas = agora.get(Calendar.HOUR);  
    int minutos = agora.get(Calendar.MINUTE);
    int segundos = agora.get(Calendar.SECOND);
    hora.setText(formato.format(horas) + ":" + 
      formato.format(minutos) + ":" + 
      formato.format(segundos));
  }
 
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata)

Java MySQL - Como obter os tipos de dados suportados pelo MySQL e seus correspondentes JDBC usando o método getTypeInfo() da interface DatabaseMetaData

Quantidade de visualizações: 6122 vezes
Em algumas situações precisamos obter os tipos de dados suportados pelo MySQL e mapeá-los para seus correspondentes JDBC. Esta não é uma tarefa fácil, mas que, com uma pequena ajuda dos recursos de reflexão do Java, pode ser realizada depois de algumas xícaras de café.

O primeiro passo é obter os tipos de dados suportados pelo MySQL com uma chamada ao método getTypeInfo() da interface DatabaseMetaData. Os campos do ResultSet que nos interessam são TYPE_NAME e DATA_TYPE. TYPE_NAME traz o nome do tipo de dados no MySQL enquanto DATA_TYPE traz o tipo JDBC correspondente como um inteiro. Assim, o que temos que fazer é usar reflexão para obter todos os campos da classe java.sql.Types e efetuar um mapeamento entre os tipos.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudosbancodados;

import java.lang.reflect.Field;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;

public class EstudosBancoDados{
  static Map mapa; // usado para mapear os tipos JDBC
  
  public static void main(String[] args) {
    // strings de conexão
    String databaseURL = "jdbc:mysql://localhost/estudos";
    String usuario = "root";
    String senha = "osmar1234";
    String driverName = "com.mysql.jdbc.Driver";

    try {
      Class.forName(driverName).newInstance();
      Connection conn = DriverManager.getConnection(databaseURL, usuario, senha);

      // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData
      DatabaseMetaData dbmd = conn.getMetaData();

      // vamos obter os tipos de dados suportados por esta versão do MySQL
      // e seus correspondentes JDBC
      ResultSet tiposDados = dbmd.getTypeInfo();
      while(tiposDados.next()){
        System.out.println("MySQL: " + tiposDados.getString("TYPE_NAME") + " - JDBC: " 
          + getJdbcTypeName(Integer.parseInt(tiposDados.getString("DATA_TYPE"))));
      }
      
      // vamos fechar o ResultSet
      tiposDados.close();
    }
    catch (SQLException ex) {
      System.out.println("SQLException: " + ex.getMessage());
      System.out.println("SQLState: " + ex.getSQLState());
      System.out.println("VendorError: " + ex.getErrorCode());
    }
    catch (Exception e) {
      System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
    }
  }

  // Este método retorna o nome de um tipo JDBC
  // O retorno é null se o tipo JDBC não puder ser reconhecido
  public static String getJdbcTypeName(int jdbcType){
    // vamos usar reflection para mapear valores inteiros a seus nomes
    if(mapa == null) {
      mapa = new HashMap();

      // vamos obter todos os campos da classe java.sql.Types
      Field[] campos = java.sql.Types.class.getFields();
      
      // vamos percorrer os campos
      for(int i = 0; i < campos.length; i++){
        try{
          // vamos obter o nome do campo
          String nome = campos[i].getName();

          // vamos obter o valor do campo
          Integer valor = (Integer)campos[i].get(null);

          // vamos adicionar ao mapa
          mapa.put(valor, nome);
        }
        catch(IllegalAccessException e){
          System.out.println("Ops: " + e.getMessage());
        }
      }
    }

    // vamos retornar o nome do tipo JDBC
    return (String)mapa.get(new Integer(jdbcType));
  }
}

O resultado da execução deste código foi:

MySQL: BIT - JDBC: BIT
MySQL: BOOL - JDBC: BIT
MySQL: TINYINT - JDBC: TINYINT
MySQL: TINYINT UNSIGNED - JDBC: TINYINT
MySQL: BIGINT - JDBC: BIGINT
MySQL: BIGINT UNSIGNED - JDBC: BIGINT
MySQL: LONG VARBINARY - JDBC: LONGVARBINARY
MySQL: MEDIUMBLOB - JDBC: LONGVARBINARY
MySQL: LONGBLOB - JDBC: LONGVARBINARY
MySQL: BLOB - JDBC: LONGVARBINARY
MySQL: TINYBLOB - JDBC: LONGVARBINARY
MySQL: VARBINARY - JDBC: VARBINARY
MySQL: BINARY - JDBC: BINARY
MySQL: LONG VARCHAR - JDBC: LONGVARCHAR
MySQL: MEDIUMTEXT - JDBC: LONGVARCHAR
MySQL: LONGTEXT - JDBC: LONGVARCHAR
MySQL: TEXT - JDBC: LONGVARCHAR
MySQL: TINYTEXT - JDBC: LONGVARCHAR
MySQL: CHAR - JDBC: CHAR
MySQL: NUMERIC - JDBC: NUMERIC
MySQL: DECIMAL - JDBC: DECIMAL
MySQL: INTEGER - JDBC: INTEGER
MySQL: INTEGER UNSIGNED - JDBC: INTEGER
MySQL: INT - JDBC: INTEGER
MySQL: INT UNSIGNED - JDBC: INTEGER
MySQL: MEDIUMINT - JDBC: INTEGER
MySQL: MEDIUMINT UNSIGNED - JDBC: INTEGER
MySQL: SMALLINT - JDBC: SMALLINT
MySQL: SMALLINT UNSIGNED - JDBC: SMALLINT
MySQL: FLOAT - JDBC: REAL
MySQL: DOUBLE - JDBC: DOUBLE
MySQL: DOUBLE PRECISION - JDBC: DOUBLE
MySQL: REAL - JDBC: DOUBLE
MySQL: VARCHAR - JDBC: VARCHAR
MySQL: ENUM - JDBC: VARCHAR
MySQL: SET - JDBC: VARCHAR
MySQL: DATE - JDBC: DATE
MySQL: TIME - JDBC: TIME
MySQL: DATETIME - JDBC: TIMESTAMP
MySQL: TIMESTAMP - JDBC: TIMESTAMP


Java ::: Dicas & Truques ::: Arquivos e Diretórios

Como verificar se um diretório já existe em Java usando o método exists() da classe File

Quantidade de visualizações: 39 vezes
Em algumas situações nós precisamos verificar se um determinado diretório existe antes de efetuarmos alguma tarefa, talvez gravar um novo arquivo ou listar os arquivos contidos em um diretório. Para isso nós podemos o método exists() da classe File da linguagem Java. A classe File faz parte do pacote java.io.

A função exists() da classe File retorna um valor true se o diretório existir, e false em caso contrário. Veja um exemplo de seu uso:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivodecodigos;
 
import java.io.File;

public class Estudos{
  public static void main(String args[]){
    // Este exemplo mostra como verificar a existência de um
    // diretório usando Java
    File diretorio = new File("c:\\java");
        
    // vamos checar se o diretório existe
    if(diretorio.exists()){
      System.out.println("Diretorio ja existe no sistema");
    }
    else{
      System.out.println("Diretorio ainda nao existe no sistema");
    }
  }
} 

Ao executar este código Java nós teremos o seguinte resultado:

O diretório já existe no sistema.


Vamos testar seus conhecimentos em

Dimensionamento de pilares intermediários

Pilares são classificados conforme suas solicitações iniciais e sua esbeltez, e esses fatores são considerados na etapa de dimensionamento e detalhamento. O índice de esbeltez dos pilares é uma medida mecânica que permite determinar a facilidade de um determinado pilar em se encurvar.

Você é um engenheiro civil que foi convidado para dar uma palestra sobre projeto estrutural de pilares de concreto armado. Na sessão das perguntas, um participante apontou três dúvidas:

I. No pilar intermediário, devido à continuidade de vigas e lajes sobre o pilar, os momentos fletores de 1ª ordem são nulos apenas na direção x.

II. Se o pilar for quadrado, deve existir pelo menos uma barra em cada vértice.

III. O índice de esbeltez não depende do formato da área da seção transversal do pilar.

É correto o que se afirma em:

A) I, apenas.

B) II, apenas.

C) III, apenas.

D) I e II, apenas.

E) II e III, apenas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Vigas a flexão simples: seções retangulares

O objetivo do dimensionamento de estruturas de concreto é obter segurança e economia. Muitas vezes, o projeto arquitetônico não possibilita vigas muito altas para grandes vãos. Uma solução adotada para esse tipo de situação, quando o concreto da seção da viga mais solicitada pode não resistir ao esforço de compressão, é adotar armadura dupla.

Considere que uma viga V (20x30) tem uma solicitação de momento fletor de 65,20kN.m. O concreto utilizado nessa viga tem resistência de 30MPa e a agressividade ambiental do local é classe II (considere que é uma viga pouco solicitada).

Das alternativas a seguir, assinale aquela que apresenta a área de aço da armadura comprimida dessa viga.

A) 1,48cm2.

B) 1,94cm2.

C) 5,48cm2.

D) 7,83cm2.

E) 9,77cm2.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

(IDECAN - 2021 - Perito Criminal de 1ª Classe (PEFOCE)/Engenharia Civil) O aparelho utilizado para medição e registro de precipitações é o

A) pluviômetro.

B) fluviógrafo.

C) pluviógrafo.

D) limnímetro.

E) limnígrafo.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Madeiras

A densidade da madeira é uma das propriedades fundamentais em diversos processos industriais que envolvem seu processamento. Essa característica influencia diretamente uma variedade de aspectos, desde a seleção da matéria-prima adequada até a determinação das condições de processamento e a aplicação dos produtos finais.

Sobre essa propriedade da madeira, assinale a opção correta.

A) A contração volumétrica da madeira é inversamente proporcional à perda de umidade, que está ligada à quantidade de água adsorvida nas paredes celulares.

B) As madeiras mais pesadas contêm maior quantidade de vazios que as madeiras mais leves, pois a perda de água das paredes celulares ocorreu abaixo do ponto de saturação das fibras.

C) A quantidade e a disposição de elementos anatômicos da madeira, como raios, microfibrilas e elementos de vasos, não influenciam as variações da densidade dentro de uma mesma árvore.

D) As madeiras de alta densidade têm proporcionalmente paredes celulares mais espessas e maior volume de lume e, consequentemente, menores valores de inchamento e de contração.

E) A contração volumétrica da madeira é resultante das contrações axial, tangencial, radial e decorrem da perda de umidade.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

O projeto de instalação hidrossanitária

Os profissionais da área civil devem estar atentos às definições e às funções dos mais diversos sistemas e equipamentos, não apenas do projeto hidrossanitário, mas da obra em um todo.

Considere os elementos a seguir e os relacione com o conceito correto:

I. Caixa sifonada (CS)

II. Subcoletor (SC)

III. Ramal de descarga (RD)

IV. Ralo (RA)

( ) Tubulação que recebe efluentes dos ramais de esgoto e conduz a um tubo de queda e/ou destes ao coletor predial.

( ) Tubulação que recebe diretamente efluentes de aparelhos sanitários, com exceção dos autossifonados, como mictórios, vasos, etc.

( ) É pequeno e tem apenas uma saída para conduzir a água.

( ) Tem apenas uma saída, mas conta com mais entradas (de 3 a 7).

Assinale a alternativa que apresenta a sequência correta:

A) II - III - IV - I.

B) IV - II - III - I.

C) III - II - I - IV.

D) II - I - IV - III.

E) III - IV - I - II.
Verificar Resposta Estudar Cards Todas as Questões

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

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar 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, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 29 usuários muito felizes estudando em nosso site.