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 ::: Dicas & Truques ::: Threads

Como usar o método yield() para parar a thread atual e ceder a CPU para outras threads

Quantidade de visualizações: 13131 vezes
Quando uma thread está sendo executada ela pode se oferecer para se mover para fora da CPU virtual e ceder seu tempo de execução para outras threads. Isso é feito com uma chamada ao método estático yield() da classe Thread.

Quando este método é chamado, a thread atual é movida do estado "executando" para o estado "pronta". Desta forma, o gerenciador de threads pode iniciar a execução das demais threads disputando o tempo da CPU. Veja um 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 
----------------------------------------------------------------------

// criamos uma classe que servirá como thread
class MinhaThread implements Runnable{
  private String nome;  

  public MinhaThread(String nome){
    this.nome = nome;
  }   

  public void run(){
    for(int i = 1; i <= 20; i++){
      System.out.println(nome + ": " + i);

      if((i % 3 == 0) && (nome.equals("Thread 1"))){
        System.out.println(nome + " foi descansar um pouco");
        Thread.yield(); // cede o tempo de CPU para as demais threads        
      }
    }
  }
}

public class Estudos{
  public static void main(String[] args){
    // vamos criar duas threads
    MinhaThread mt1 = new MinhaThread("Thread 1");
    Thread t1 = new Thread(mt1);
    t1.start();    

    MinhaThread mt2 = new MinhaThread("Thread 2");
    Thread t2 = new Thread(mt2);
    t2.start();
  }
}

Ao executar este código você perceberá que a primeira thread cede o tempo da CPU, ou seja, se oferece para ser movida para fora da CPU virtual, a cada três valores impressos. Quando isso acontece a segunda thread é movida do estado "pronta" para o estado "executando". Note, contudo, que não há comportamente previsível em relação a uma thread ceder o tempo de execução para outra. É preciso, antes de tudo, nos inteirarmos da forma pela qual o gerenciador de threads escolhe qual a próxima thread a ser executada, se há considerações em relações à prioridades das threads, etc. Pode ainda acontecer de uma thread ceder seu tempo de execução e continuar executando, talvez pela ausência de outras threads no estado "prontas".

Link para compartilhar na Internet ou com seus amigos:

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

Exercícios Resolvidos de Java - Valor da diária, valor médio arrecadado com e sem promoção e o lucro ou prejuízo mensal de uma promoção em um hotel

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

Escreva um programa Java para resolver o seguinte problema:

Um hotel com 42 apartamentos resolveu fazer promoções para os fins de semana fora da alta temporada, isto é, nos meses de abril, maio, junho, agosto, setembro, outubro e novembro. A taxa da promoção é de 22% da diária normal. A ocupação média do hotel sem promoção é de 40%. A expectativa é aumentar a taxa de ocupação para 70%. Supondo que as expectativas se confirmem, escrever um algoritmo que lê a diária normal, que calcule e escreva as seguintes informações:

(a) O valor da diária no período da promoção.
(b) O valor médio arrecadado sem a promoção, durante um mês.
(c) O valor médio arrecadado com a promoção, durante um mês.
(d) O lucro ou prejuízo mensal com a promoção.

Seu código Java deverá apresentar uma saída parecida com:

Informe o valor da diária normal: 120
Diária no período de promoção: 26,40
Média arrecadada sem a promoção durante um mês: 8064,00
Média arrecadada com a promoção durante um mês: 3104,64
Prejuízo mensal com a promoção: 4959,36
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner):

----------------------------------------------------------------------
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.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um objeto da classe Scanner
    Scanner entrada = new Scanner(System.in);

    // valor da diária em período normal  
    double valor_diaria_normal;
    // valor da diária no período de promoção
    double valor_diaria_promocao;

    // vamos obter o valor da diária no período normal
    System.out.print("Informe o valor da diária normal: ");
    valor_diaria_normal = Double.parseDouble(entrada.nextLine());

    // vamos obter o valor da diária no período promocional
    valor_diaria_promocao = valor_diaria_normal * (22.0 / 100.0);

    // vamos calcular o valor médio arrecadado sem a promoção, durante um mês
    // estamos assumindo 4 finais de semana por mês
    double media_arrecado_sem_promocao = (valor_diaria_normal
      * (42 * (40.0 / 100.0)) * 4);

    // vamos calcular o valor médio arrecadado com a promoção, durante um mês
    // estamos assumindo 4 finais de semana por mês
    double media_arrecado_com_promocao = (valor_diaria_promocao
      * (42 * (70.0 / 100.0)) * 4);

    System.out.printf("Diária no período de promoção: %.2f\n",
      valor_diaria_promocao);
    System.out.printf("Média arrecadada sem a promoção durante um mês: %.2f\n",
      media_arrecado_sem_promocao);
    System.out.printf("Média arrecadada com a promoção durante um mês: %.2f\n",
      media_arrecado_com_promocao);

    // houve lucro ou prejuízo?
    if (media_arrecado_sem_promocao < media_arrecado_com_promocao) {
      System.out.printf("Lucro mensal com a promoção: %.2f\n",
        media_arrecado_com_promocao - media_arrecado_sem_promocao);
    } 
    else {
      System.out.printf("Prejuízo mensal com a promoção: %.2f\n",
        media_arrecado_sem_promocao - media_arrecado_com_promocao);
    }
  }
}



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

Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00

Quantidade de visualizações: 4732 vezes
Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00

Pergunta/Tarefa:

A empresa XYZ decidiu conceder um aumento de 20% aos funcionários com salários inferiores a R$ 800,00. Faça um programa Java que solicita o salário do funcionário e mostre o valor do salário reajustado ou uma mensagem, caso o funcionário não tenha direito ao aumento.

Sua saída deverá ser parecida com:

Informe o salário: 520
O salário informado foi: 520.0
O salário reajustado é: 530.4 
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.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar o salário do funcionário
    System.out.print("Informe o salário: ");
    double salario = Double.parseDouble(entrada.nextLine());
    System.out.println("O salário informado foi: " + salario);
    
    // vamos conceder o aumento ao salário inferior a 800,00
    if(salario < 800.00){
      double novoSalario = salario + (salario * (2.0 / 100.00));
      System.out.println("O salário reajustado é: " + novoSalario);
    }
    else{
      System.out.println("Não tem direito ao reajuste.");
    }
    
    System.out.println("\n");
  }
}



Java ::: Fundamentos da Linguagem ::: Variáveis e Constantes

Regras para a escolha de nomes de variáveis e constantes em Java

Quantidade de visualizações: 15670 vezes
Cada linguagem de programação tem seu conjunto próprio de regras e convenções para os tipos de nomes que você pode usar, e Java não é diferente. As regras e convenções para nomear variáveis em Java são as seguintes:

1) Nomes de variáveis são sensíveis a minúsculas e maiúsculas. Isso quer dizer que "cliente" é diferente de "Cliente". O nome de uma variável pode ser qualquer identificador legal: Uma sequência sem limites de tamanho de letras Unicode e dígitos, começando com uma letra, "$" ou o caractere de sublinhado "_" (underscore). A convenção, contudo, é sempre começar um nome de variável com uma letra e não "$" ou "_". Além disso, por convenção, o caractere $ nunca é usado. Você pode encontrar situações em que nomes gerados automaticamente podem conter o sinal $, mas evite usá-lo sempre que possível. O mesmo acontece com "_". Embora permitido, evite começar nomes de variáveis com "_". Espaços não são permitidos em nomes de variáveis.

2) Caracteres subsequentes podem ser letras, dígitos, $ ou "_". Convenções (e senso comum) se aplicam a esta regra também. Quando escolher nomes para suas variáveis, use nomes completos em vez de abreviações confusas. Isso tornará seu código mais legível. Nomes tais como "cliente", "nota", "quantidade", etc, são bem mais fáceis de entender e lembrar que "cl", "n", "qt", etc. Tenha também em mente que palavras-chaves e palavras reservadas da linguagem não podem ser usadas como nomes de variáveis.

3) Se o nome de variável que você escolher consistir de apenas um palavra, escreva-a toda em letras minúsculas. Ex.: cliente. Se consistir de mais de uma palavra, escreva a primeira letra da segunda palavra usando letra maiúscula. Ex.: nomeCliente. Se o nome for de uma constante, ele deve ser escrito todo em letras maiúsculas. Ex.: MODELO = 102. Se o nome da constante possuir mais de uma palavra, separe-as com o caractere "_". Ex.: NIVEL_BOLETO = 2.


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

Java MySQL - Como obter os tipos de tabelas suportados pelo MySQL usando o método getTableTypes() da classe DatabaseMetaData

Quantidade de visualizações: 5386 vezes
Em algumas situações precisamos obter os tipos de tabelas suportados por uma determinada versão do MySQL. Isso pode ser feito com uma chamada ao método getTableTypes() da classe com.mysql.jdbc.DatabaseMetaData. Um objeto desta classe é obtido a partir do método getMetaData() da interface Connection (para o driver com.mysql.jdbc.Driver, é claro).

A assinatura do método getTableTypes() é:

public ResultSet getTableTypes() throws SQLException 
O retorno do método é um ResultSet contendo os tipos de tabelas, tais como "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS" e "SYNONYM".

Vamos ver um exemplo? Veja um trecho de código que usei para listar os tipos de tabelas disponíveis no MySQL 5.0:

----------------------------------------------------------------------
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.sql.*;

public class EstudosBancoDados{
  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 tabelas suportadas por esta versão do MySQL
      ResultSet tiposTabelas = dbmd.getTableTypes();
      while(tiposTabelas.next()){
        System.out.println(tiposTabelas.getString("TABLE_TYPE"));
      }
      
      // vamos fechar o ResultSet
      tiposTabelas.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);
    }
  }
}

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

TABLE
VIEW
LOCAL TEMPORARY


Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular a equação reduzida da reta em Java dados dois pontos pertencentes à reta

Quantidade de visualizações: 1244 vezes
Nesta dica de Java veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito.

Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem.

Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta:



Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código Java completo para esta tarefa:

----------------------------------------------------------------------
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.Scanner;

public class Estudos{
  public static void main(String[] args){
    // vamos usar a classe Scanner para ler os dados
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler as coordenadas do primeiro ponto
    System.out.print("Coordenada x do primeiro ponto: ");
    double x1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Coordenada y do primeiro ponto: ");
    double y1 = Double.parseDouble(entrada.nextLine());
    
    // vamos ler as coordenadas do segundo ponto
    System.out.print("Coordenada x do segundo ponto: ");
    double x2 = Double.parseDouble(entrada.nextLine());
    System.out.print("Coordenada y do segundo ponto: ");
    double y2 = Double.parseDouble(entrada.nextLine());
    
    String sinal = "+";
    // vamos calcular o coeficiente angular da reta
    double m = (y2 - y1) / (x2 - x1);
    // vamos calcular o coeficiente linear
    double n = y1 - (m * x1);
 
    // coeficiente linear menor que zero? O sinal será negativo
    if (n < 0){
      sinal = "-";
      n = n * -1;
    }
  
    // mostra a equação reduzida da reta
    System.out.println("Equação reduzida: y = " + m + "x" 
      + " " + sinal + " " + n);
    
    System.exit(0);
  }
}

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

Coordenada x do primeiro ponto: 5
Coordenada y do primeiro ponto: 5
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 2
Equação reduzida: y = -0,75x + 8,75

Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo:

----------------------------------------------------------------------
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 
----------------------------------------------------------------------

>> y = (-0.75 * 3) + 8.75
y = 6.5000

temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem.


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

Exercícios Resolvidos de Java - Escrever um algoritmo que recebe o salário-base de um funcionário, calcule e mostre o salário a receber

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

Faça um programa (algoritmo) Java que recebe o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o salário-base.

Sua saída deverá ser parecida com:

Informe o salário base: 1450.00
Gratificação: R$ 72,50
Imposto: R$ 101,50
Salário final: R$ 1.421,00

Resposta/Solução:

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

----------------------------------------------------------------------
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.text.NumberFormat;
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 salario base
    System.out.print("Informe o salário base: ");
    double salario_base = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular a gratificação
    double gratificacao = salario_base * (5.0 / 100);
    
    // vamos calcular o imposto
    double imposto = salario_base * (7.0 / 100);
    
    // e finalmente calculamos o salário final
    double salario_final = salario_base + gratificacao - imposto;
    
    // e exibimos o resultado
    NumberFormat formato = NumberFormat.getCurrencyInstance();
    System.out.println("Gratificação: " + formato.format(gratificacao));
    System.out.println("Imposto: " + formato.format(imposto));
    System.out.println("Salário final: " + formato.format(salario_final));
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercícios Resolvidos de Java - Escreva um programa (algorítmo) Java que usa o laço do...while para ler um número indeterminado de idades. A condição de parada do laço é o valor da idade igual a 0

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

Escreva um programa (algorítmo) Java que usa o laço do...while para ler um número indeterminado de idades de algumas pessoas. A condição de parada do laço é o valor da idade igual a 0. Calcule a escreva a idade média deste grupo de pessoas.

Sua saída deverá ser parecida com:

Informe a idade: 19
Informe a idade: 30
Informe a idade: 21
Informe a idade: 45
Informe a idade: 0
A idade média é: 28.75
Resposta/Solução:

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

----------------------------------------------------------------------
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 exercicios;

import java.util.Scanner;

public class Exercicios {
  public static void main(String[] args) {
    // vamos efetuar a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    int idade; // guarda a idade lida de cada indivíduo
    double idade_media; // a idade média calculada
    int soma = 0; // a soma das idades de cada indivíduo
    int contador = 0; // conta as idades lidas
    
    // laço do...while que repetirá até que o valor da idade seja 0
    do{
      System.out.print("Informe a idade: ");
      idade = Integer.parseInt(entrada.nextLine());
      
      // a idade lida é diferente de 0?
      if(idade != 0){
        soma = soma + idade; // soma mais esta idade
        contador++; // aumenta a quantidade de idades lidas
      }
    }while(idade != 0);
    
    // calcula a idade média
    // note que forcei contador para o tipo double antes da divisão
    // isso faz com que o resultado seja do tipo double
    idade_media = soma / (contador * 1.0);
    
    // finalmente mostramos o resultado
    System.out.println("A idade média é: " + idade_media);
  }
}



Java ::: Classes e Componentes ::: JTree

Java Swing - Como obter o texto do ítem selecionado na JTree

Quantidade de visualizações: 11115 vezes
Nesta dica veremos como usar o método getLastSelectedPathComponent() da classe JTable do Java Swing para obter o texto do item (nó) selecionado na árvore. Veja como fazemos um cast (conversão) para um objeto da classe DefaultMutableTreeNode antes de podermos acessar o nó retornado.

O resultado será igual ao que temos na imagem abaixo:



Veja o código Java Swing completo para este 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 javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.tree.*;
 
public class Estudos extends JFrame{
  JTree arvore;  
 
  public Estudos(){
    super("Exemplo de uma JTree simples");
     
    DefaultMutableTreeNode raiz = montarArvore();
    arvore = new JTree(raiz);  
 
    JButton btn = new JButton("Obter Texto");
    btn.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          if(!arvore.isSelectionEmpty()){
            DefaultMutableTreeNode no = (DefaultMutableTreeNode)
              arvore.getLastSelectedPathComponent();
 
            JOptionPane.showMessageDialog(null,
          "Texto do ítem selecionado: " + no.toString(), 
          "JTree", JOptionPane.INFORMATION_MESSAGE);
          }
        }
      }
    );
 
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
             
    JScrollPane scrollPane = new JScrollPane(arvore);
    c.add(scrollPane);
    c.add(btn);
     
    setSize(400, 300);
    setVisible(true);
  }
     
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
 
  private DefaultMutableTreeNode montarArvore(){ 
    DefaultMutableTreeNode raiz = new DefaultMutableTreeNode("Cidades"); 
    DefaultMutableTreeNode regiao = new DefaultMutableTreeNode("Região"); 
    regiao.add(new DefaultMutableTreeNode("Centro-Oeste"));
    regiao.add(new DefaultMutableTreeNode("Norte"));
    regiao.add(new DefaultMutableTreeNode("Sul"));     
          
    raiz.add(regiao); 
    return raiz; 
  }
}



Vamos testar seus conhecimentos em Fundações

Fundações rasas

Uma fundação do tipo radier é, convencionalmente, uma laje de concreto usada quando, EXCETO:

A) O solo é mole, com baixa capacidade de carga.

B) É necessário combater a sobrepressão hidrostática.

C) Há ocorrência de bolsões de solos moles variáveis sob a projeção da estrutura.

D) A sapata corrida cobre 40% acima da área de fundação por causa de cargas elevadas de pilares.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

O aço no edifício

A estrutura de estabilização da moldura estrutural da edificação da figura abaixo, que se caracteriza pelo fato de as extremidades das amarrações diagonais serem recuadas de uma certa distância uma da outra, onde se conectam às vigas, pode ser chamada de:



A) Estrutura contraventada.

B) Moldura amarrada excentricamente.

C) Moldura resistente a momentos.

D) Paredes de cisalhamento.

E) Nenhuma das alternativas anteriores.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

A responsabilidade moral

A moral está intrínseca, ou seja, no interior da decisão de como agir em determinada situação, no foro íntimo de cada um, na forma como as pessoas, individualmente, reagem diante de certo impasse. Portanto, marque a alternativa que expressa corretamente o conceito de moral.

A) Moral e ética são a mesma coisa.

B) Moral é o conjunto de regras aplicadas no cotidiano e usadas continuamente por cada cidadão.

C) Moral remete a atitudes benéficas.

D) Moral reflete em atitudes que os cidadãos desprezam.

E) Moral é o conjunto de regras que não se aplicam, de nenhuma forma, na sociedade.
Verificar Resposta Estudar Cards Todas as Questões

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

Dimensionamento de Redes de Distribuição de Água

Qual a vazão necessária na tubulação que sai do reservatório em uma rede ramificada para um loteamento com a seguinte configuração, considerando que cada habitante consome 400 L/dia?



A) 8,67 L/s.

B) 16,42 L/s.

C) 2,63 L/s.

D) 17,33 L/s.

E) 6,96 L/s.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Aglomerantes

A respeito dos aglomerantes especiais, é correto afirmar:

A) Cimentos oxicloretos também chamados de cimento sorel são materiais moles e poucos resistentes à abrasão.

B) Furan, que é um aglomerante orgânico, é extremamente resistente a ácido nítrico concentrado.

C) Cimentos fenólicos possuem resistência ao meio alcalino.

D) Resina epóxi é um aglomerante orgânico classificado como aglomerante especial.

E) Enxofre fundido é um aglomerante que não resiste satisfatoriamente a ácidos.
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á 26 usuários muito felizes estudando em nosso site.