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 ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Como testar se um número é positivo ou negativo em Java - Desafio de Programação Resolvido em Java

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

Escreva um programa Java que pede para o usuário informar um número inteiro. Em seguida seu código deverá informar se o número informado é positivo, negativo ou neutro. O zero não é um número positivo nem negativo, já que não é maior nem menor que si mesmo. Por essa razão dizemos que ele é um número neutro.

Sua saída deve ser parecida com:

Informe um número inteiro: 3
O número 3 é positivo.
Informe um número inteiro: -5
O número -5 é negativo.
Informe um número inteiro: 0
O número 0 é neutro.
Resposta/Solução:

Veja a solução comentada deste exercício usando a linguagem 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 ler o número
    System.out.print("Informe um número inteiro: ");
    int numero = Integer.parseInt(entrada.nextLine());
    
    // o número é positivo?
    if(numero > 0){
      System.out.println("O número " + numero + " é positivo.");
    }
    // o número é negativo?
    else if(numero < 0){
      System.out.println("O número " + numero + " é negativo.");
    }
    else{ // o número é neutro
      System.out.println("O número " + numero + " é neutro.");
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Pacote java.lang ::: Integer

Java Básico - Como usar a constante SIZE da classe Integer para obter a quantidade de bits necessária para armazenar um int

Quantidade de visualizações: 6756 vezes
Em algumas situações gostaríamos de obter a quantidade de bits necessária para armazenar um valor do tipo int (inteiro). Para isso podemos usar a constante SIZE da classe Integer (uma classe wrapper que encapsula o valor primitivo int). Veja como isso pode ser feito:

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

public class Estudos {
  public static void main(String[] args) {
    // vamos obter a quantidade de bits necessária para representar um int
    int quantBits = Integer.SIZE;
    
    // o resultado
    System.out.println("Um int ocupa " + quantBits + " bits, ou seja, " +
       (quantBits / 8) + " bytes");    
  }
}

Ao executarmos este código o resultado será:

Um int ocupa 32 bits, ou seja, 4 bytes.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de Java - Um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguida

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

Escreva um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguida o método deverá dividir o resultado, ou seja, o produto, por 2, e, finalmente, retornar o resto de uma divisão inteira desse resultado pelo número 7.

Sua saída deverá ser parecida com:

Informe o primeiro valor inteiro: 18
Informe o segundo valor inteiro: 19
O resultado é: 3
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[]){
    // vamos usar a classe Scanner para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar dois números inteiros
    System.out.print("Informe o primeiro valor inteiro: ");
    int a = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o segundo valor inteiro: ");
    int b = Integer.parseInt(entrada.nextLine());
    
    // vamos obter o resultado de uma chamada à função calcular()
    int resultado = calcular(a, b);
    System.out.println("O resultado é: " + resultado);
  }
  
  public static int calcular(int a, int b){
    // primeiro multiplicamos as duas variáveis
    int produto = a * b;
    // agora dividimos o produto por 2
    int temp = produto / 2;
    // agora obtemos o módulo do resultado por 7
    int resultado = temp % 7;
    // e retornamos o valor calculado
    return resultado;
  }
}



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

Como excluir uma substring de uma string usando o método delete() da classe StringBuffer do Java - Revisado

Quantidade de visualizações: 152 vezes
Em algumas situações nós gostaríamos de excluir parte de uma palavra ou texto, ou seja, remover uma substring de uma string. Para isso nós podemos usar o método delete() da classe StringBuffer da linguagem Java. Lembrando que a classe StringBuffer, do pacote java.lang, é usada em vez da classe String quando precisamos fazer muitas concatenações e adições ou remoções no conteúdo da string.

Veja um exemplo de código no qual removemos parte do conteúdo de um StringBuffer:

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

public class Estudos{
  public static void main(String[] args){
    StringBuffer frase = new StringBuffer("Gosto muito de Java");
    
    // mostra o conteúdo original
    System.out.println("Frase original: " + frase);
    
    String remover = "muito ";
    // vamos obter o índice inicial do conteúdo a ser removido
    int pos = frase.indexOf(remover);
     
    // e agora vamos remover
    frase.delete(pos, pos + remover.length());
    
    // com a remoção
    System.out.println("Depois da remoção: " + frase);
     
    System.exit(0);
  }
}

Após a execução deste código nós teremos o seguinte resultado:

Frase original: Gosto muito de Java
Depois da remoção: Gosto de Java


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Java - Um programa que lê a altura e o sexo de uma pessoa e informa seu peso ideal

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

Escreva um programa Java que recebe a altura (como double) e o sexo (como um char) de uma pessoa e que calcule e mostre o seu peso ideal. A fórmula a ser utilizada é:

Homens: (72.7 x altura) - 58;
Mulheres: (62.1 x altura) - 44.7

Sua saída deverá ser parecida com:



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

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar a altura e o sexo da pessoa
    System.out.print("Informe sua altura (ex: 1.74): ");
    double altura = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe o sexo (M ou F): ");
    char sexo = entrada.nextLine().charAt(0);
    double pesoIdeal;
    
    // vamos testar o sexo da pessoa
    if(Character.toUpperCase(sexo) == 'M'){ // masculino
      pesoIdeal = (72.7 * altura) - 58;  
    }
    else{ // feminino
      pesoIdeal = (62.1 * altura) - 44.7;  
    }
    
    // vamos mostrar o resultado
    System.out.println("Seu peso ideal é: " + pesoIdeal);
    
    System.out.println("\n");
  }
}



Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Projetos Java Programação Orientada a Objetos - Exemplos Java

Sistema para Biblioteca usando Programação Orientada a Objetos em Java - Projeto completo com código fonte - Versão console

Quantidade de visualizações: 14851 vezes
Sistema para Gestão de Biblioteca usando Programação Orientada a Objetos em Java - Projeto completo com código fonte - Versão console

Controle de Biblioteca - Sobre este projeto Java



Nesta dica apresento a idéia de um Controle de Gestão de Biblioteca em Java usando Programação Orientada a Objetos. Trata-se de um programa com código fonte em duas versões console.

Na primeira versão temos os dados sendo gerenciados por objetos ArrayList. Na segunda versão nós tiramos proveito dos métodos dos métodos readObject() e writeObject() e da interface Serializable para implementar a serialização de objetos em Java. Dessa forma, os dados do sistema podem ser salvos e carregados todas as vezes que o sistema for iniciado.

Um Controle de Gestão de Biblioteca é um projeto ideal para dominar a programação orientada a objetos em Java, além de permitir colocar em prática várias coisas que estudamos na linguagem e não temos a oportunidade de implementar. Assim, este código, se bem estudado e bem entendido, pode render um controle de biblioteca pronto para ser vendido no mercado ou implementado em sua própria escola ou faculdade. Basta conectar as funcionalidades das classes a um banco de dados tal como o MySQL e adicionar mais alguns pequenos detalhes.

O Diagrama de Classes Java

Antes de falarmos mais sobre o projeto do Sistema de Biblioteca, dê uma boa olhada no seu diagrama de classes:



Como a aplicação está estruturada?

Como podemos ver no diagrama de classes, todo o controle do sistema é feito a partir da classe Biblioteca, que contém objetos da classe ArrayList para guardar objetos das classes Usuario, Autor, Editora, Livro, Emprestimo e Multa.

O relacionamento entre os objetos das classes envolvidas está bem definido no código fonte, com comentários e menus individuais para o gerenciamento de cada parte que compõe o controle de biblioteca apresentado.

Um empréstimo envolve um livro e um usuário, e pode gerar uma multa caso a devolução seja feita fora do prazo. A multa é gerada somente na devolução. Em sistemas reais, o usuário não pode fazer uma nova locação caso a multa não seja paga. Deixamos como sugestão e desafio, essa implementação no código. No entanto, já fizemos todo o restante do cálculo para você, ou seja, fizemos a diferença entre a data do empréstimo e sua devolução e geramos a multa, se houver, já com o devido valor a ser pago.

Um livro está relacionado a um autor e a uma editora. Inicialmente o livro é cadastrado como disponível. Porém, esse status é alterado para indisponível quando ele está envolvido em um empréstimo, e novamente disponível quando é feita a devolução.

Tudo isso é feito por meio de vários menus de opções, como mostro a seguir.

As opções de menu para o gerencimento do sistema da biblioteca

O menu principal foi escrito usando-se o seguinte código:

// método que exibe o menu principal do sistema
public void menuPrincipal(){
  Scanner entrada = new Scanner(System.in);
    
  while(true){  
    limparTela();
    System.out.println("\n:: B I B L I O T E C A ::\n");
    System.out.println("Bem-vindo(a) ao sistem. 
      Escolha a opção desejada");
    System.out.println("1 - Livros");
    System.out.println("2 - Autores");
    System.out.println("3 - Editoras");
    System.out.println("4 - Usuários");
    System.out.println("5 - Empréstimos");
    System.out.println("6 - Multas");
    System.out.println("7 - Sair");
    System.out.print("Sua opção: ");
    // lê a opção do usuário 
    int opcao = Integer.parseInt(entrada.nextLine()); 
    
    switch(opcao){
      case 1:
        // chama o menu de gerenciamento de livros
        menuGerenciarLivros(); 
        break;
      
      case 2:
        // chama o menu de gerenciamento de autores
        menuGerenciarAutores(); 
        break;
      
      case 3:
        // chama o menu de gerenciamento de editoras
        menuGerenciarEditoras();
        break;
      
      case 4:
        // chama o menu de gerenciamento de usuários
        menuGerenciarUsuarios(); 
        break;
      
      case 5:
        // chama o menu de gerenciamento de emprestimos
        menuGerenciarEmprestimos();
        break;
        
      case 6:
        // chama o menu de gerenciamento de multas
        menuGerenciarMultas();
        break;
      
      case 7:
        System.out.println("\nObrigado por usar o 
          Sistema de Biblioteca\n");  
        System.exit(0);
    }
  }
}


Note que cada case do switch do menu principal chama um método que será responsável por exibir um menu individual para o gerencimento da classe correspondente.

Veja, por exemplo, o menu para cadastrar um novo usuário na biblioteca:

// menu para cadatrar, listar, pesquisar, excluir 
// e atualizar os usuários da biblioteca
public int menuGerenciarUsuarios(){ 
  Usuario temp; // serve para várias operações neste menu
  // serve para as pesquisas dos usuários
  String pesquisaUsuario;
  Scanner entrada = new Scanner(System.in);
    
  // mostra o menu de forma repetitiva até o usuário 
  // usar a opção de sair
  while(true){
    // tire caso não funcionar no seu sistema operacional
    limparTela();
    System.out.println("\n:: G E R E N C I A R   U S U Á R I O S ::\n");
    System.out.println("Escolha a opção desejada");
    System.out.println("1 - Novo Usuário");
    System.out.println("2 - Listar Usuários");
    System.out.println("3 - Pesquisar Usuário");
    System.out.println("4 - Excluir Usuário");
    System.out.println("5 - Atualizar Usuário");
    System.out.println("6 - Voltar Menu Anterior");
    System.out.print("Sua opção: ");
    // lê a opção do usuário
    int opcao = Integer.parseInt(entrada.nextLine()); 
    
    switch(opcao){
      case 1: // vamos cadastrar um novo usuário
        System.out.print("\nNome: ");
        String nomeUsuario = entrada.nextLine();
        System.out.print("Idade: ");
        int idadeUsuario = Integer.parseInt(entrada.nextLine());
        System.out.print("Sexo: ");
        char sexoUsuario = entrada.nextLine().charAt(0);
        
        // vamos incrementar o contador de usuários
        Usuario.contadorUsuarios++;
        
        // agora vamos criar um novo objeto da classe Usuario
        Usuario u = new Usuario(Usuario.contadorUsuarios,
          nomeUsuario, idadeUsuario, sexoUsuario);
        // e o adicionamos no ArrayList de usuários
        usuarios.add(u);
        
        // e finalmente mostramos uma mensagem de sucesso.
        System.out.println("\nO usuário foi cadastrado com sucesso");
        salvarDadosArquivo(); // salva os dados no arquivo
        
        break;
        ... 


Devo usar ArrayList do Java para desenvolver o sistema?

Sim, objetos da classe ArrayList são perfeitos quando precisamos representar relacionamentos um para muitos e muitos para um. É claro que poderíamos usar vetores de objetos (usando array), mas ficaríamos restritos a tamanhos fixos, enquanto o ArrayList nos permite cadastrar quantos usuários, livros, editoras, autores e empréstimos nós quisermos.

Dessa forma, veja, por exemplo, o trecho de código que registra um novo empréstimo:

case 1: // vamos cadastrar um novo empréstimmo
  // para registrar um novo empréstimo nós precisamos 
  // de um usuário
  // o usuário que será relacionado a este empréstimo
  Usuario usuario = null;
  while(usuario == null){
    System.out.print("\nInforme o id ou nome do usuário: ");
    String pesquisaUsuario = entrada.nextLine();
    // chamamos o método que pesquisa o usuario
    usuario = pesquisarUsuario(pesquisaUsuario);
    if(usuario == null){ // usuario não encotrado
      System.out.print("\nUsuário não 
       encontrado.\n\nDigite 1 para pesquisar 
       novamente ou 2 para voltar ao menu anterior: ");
      int opcaoTemp = Integer.parseInt(entrada.nextLine());
      if(opcaoTemp == 2){
        return 1; // saímos daqui e voltamos para o menu anterior  
      }
    }
  }
  System.out.println("Usuário selecionado: " + usuario.getNome());
  // fim para registrar um novo empréstimo nós 
  // precisamos de um usuário
          
  // para registrar um novo empréstimo nós precisamos 
  // de um livro
  Livro livro = null; // o livro que será relacionado 
  // a este empréstimo
  while(livro == null){
    System.out.print("Informe o id, título ou ISBN do livro: ");
    String pesquisaLivro = entrada.nextLine();
    // chamamos o método que pesquisa o livro
    livro = pesquisarLivro(pesquisaLivro);
    // livro não encontrado ou indisponível
    if((livro == null) || (!livro.isDisponivel())){
      System.out.print("\nLivro não encontrado 
       ou indisponível.\n\nDigite 1 para 
       pesquisar novamente ou 2 para voltar ao 
       menu anterior: ");
      int opcaoTemp = Integer.parseInt(entrada.nextLine());
      if(opcaoTemp == 2){
        return 1; // saímos daqui e voltamos para o menu anterior  
      }
    }
  }
  System.out.println("Livro selecionado: " + livro.getTitulo());
  // fim para cadastrar um novo empréstimo nós 
  // precisamos de um livro
 
  try{          
    System.out.print("Data do Empréstimo: ");
    String dataEmprestimo = entrada.nextLine();
    Date dataEmprestimoDate = 
      new SimpleDateFormat("dd/MM/yyyy").parse(dataEmprestimo);
    System.out.print("Data de Devolução: ");
    String dataDevolucao = entrada.nextLine();
    Date dataDevolucaoDate = 
      new SimpleDateFormat("dd/MM/yyyy").parse(dataDevolucao);
          
    // a data de devolução é menor que a data de empréstimo?
    if(dataDevolucaoDate.getTime() <= dataEmprestimoDate.getTime()){
      System.out.println("\nA data de devolução 
        deve ser maior que a data de empréstimo.\n");
    }
    else{
      // vamos incrementar o contador de empréstimos
      Emprestimo.contadorEmprestimos++;
        
      // vamos marcar o livro escolhido como indisponível
      livro.setDisponivel(false);
              
      // agora vamos criar um novo objeto da classe Emprestimo
      Emprestimo emprestimo = new Emprestimo(usuario,
        livro, Emprestimo.contadorEmprestimos, 
        dataEmprestimoDate, dataDevolucaoDate, 
        null, false);
      // e o adicionamos no ArrayList de empréstimos
      emprestimos.add(emprestimo);
        
      // e finalmente mostramos uma mensagem de sucesso.
      System.out.println("\nO empréstimo foi registrado com sucesso");
      salvarDadosArquivo(); // salva os dados no arquivo
    }
  }
  catch(ParseException e){
    System.out.println("\nAs datas informadas são inválidas.\n");
  }
            
  break;


Note que este trecho de código é parte do case da opção Novo Empréstimo do menu Gerenciar Empréstimos. Veja como usamos uma variável estática contadorEmprestimos da classe Emprestimo para criarmos um valor inteiro auto-incremento que nos permite identificadores únicos para cada empréstimo da biblioteca.

Viu que código mais lindo? Note como a Programação Orientada a Objetos em Java nos permite desenvolver idéias de forma bem parecida mesmo ao mundo real.

Como posso obter este código fonte?

O código fonte desta aplicação é fornecido em duas versões:

1) SBIBLIOJCNB-A - Sistema de Gestão de Biblioteca em Java com Código Fonte Versão Console - NetBeans IDE ou Eclipse.

2) SBIBLIOJCNB-B - Sistema de Gestão de Biblioteca em Java com Código Fonte Versão Console - Lê e salva os dados em arquivo usando serialização (Serializable), ou seja, os métodos readObject() e writeObject() - NetBeans IDE ou Eclpse.

Para adquirir, entre em contato conosco usando o WhatsApp ou e-mail indicados na lateral do site. Podemos combinar alterações e a adição de novas funcionalidades.

Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes.


Java ::: Pacote java.net ::: HttpURLConnection

Como usar o método GET da classe HttpURLConnection do Java para enviar dados a uma página PHP, JSP, ASP.NET, etc

Quantidade de visualizações: 6676 vezes
Em algumas situações gostaríamos de enviar uma solicitação HTTP do tipo GET a uma página PHP, JSP, ASP.NET, etc, a partir de nossos programas Java. Para isso podemos usar um objeto da classe HttpURLConnection. Para este exemplo eu mostrarei como enviar uma requisição GET para uma página PHP e retornar o resultado da soma de dois números.

Comece analisando o código para o documento somar.php:

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

<?php
  // obtém o primeiro valor
  $a = (int)$_GET["a"];
  // obtém o primeiro valor
  $b = (int)$_GET["b"];
  
  // vamos somar e mostrar o resultado
  $soma = $a + $b;
  echo "A soma dos dois números é: " . $soma;
?>

Este código PHP não apresenta muitos segredos: obtemos dois números passados via GET, efetuamos a soma dos dois e escrevemos o resultado na página. Veja agora o código completo para a aplicação 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 arquivodecodigos;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Principal {
  public static void main(String[] args) {
    int n1 = 10, n2 = 25;
    URL url;
    HttpURLConnection connection = null;
    BufferedReader in = null;
    try {
      url = new URL("http://www.arquivodecodigos.com.br/somar.php?a=" + n1 
        + "&b=" + n2);
      // vamos efetuar a conexão à URL especificada
      connection = (HttpURLConnection)url.openConnection();
      // em alguns servidores nós precisamos adicionar o User-Agent para evitar
      // o erro 403 Forbidden
      // HttpURLConnection : Server return HTTP 403 Forbidden
      connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; "
        + "WOW64; rv:221.0) Gecko/20100101 Firefox/31.0");
      
      // vamos obter o retorno da conexão
      String linha;
      in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
      while((linha = in.readLine()) != null) {
        System.out.println(linha);
      }
    } 
    catch (MalformedURLException ex) {
      System.out.println("A URL está mal formada: " + ex.getMessage());
    }
    catch (IOException ex) {
      System.out.println("Não foi possível efetuar a conexão: " + 
        ex.getMessage());
    }
    finally {
      if(in != null) {
        try {
          in.close();
        } 
        catch (IOException ex) {
          System.out.println("Não consegui fechar o stream de saída: " + 
            ex.getMessage());
        }
      }
      connection.disconnect();
    }
  }
}

Ao executar o programa, teremos uma mensagem no console parecida com:

A soma dos dois números é: 35


Java ::: Classes e Componentes ::: JList

Java Swing - Como obter a quantidade de itens em uma JList usando o método getSize() da interface ListModel

Quantidade de visualizações: 9423 vezes
Nesta dica mostrarei como podemos obter a quantidade de itens em uma JList por meio de uma chamada ao método getSize() da interface ListModel, responsável por gerenciar os itens da JList. Note que escrevi o exemplo abaixo sem usar nenhum editor GUI visual. Dessa forma fica mais fácil entender todas as partes que compoem uma aplicação Java Swing.

Veja o código completo:

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

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);
  
    // Um botão que permite obter a quantidade de itens
    JButton btn = new JButton("Quantidade de Itens");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          int quant = lista.getModel().getSize();
 
          JOptionPane.showMessageDialog(null, 
            "A lista contém " + quant + " itens");
        }
      }
    );
 
    // 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);
  }
}



Java ::: Dicas & Truques ::: Gráficos

Como desenhar em um JComponent do Java Swing (JLabel, JButton, JPanel, etc) usando o método paintComponent()

Quantidade de visualizações: 10094 vezes
A classe JComponent possui um método chamado paintComponent(Graphics g) que recebe um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade.

Para demonstrar como isso é feito, veja um trecho de código no qual desenhamos uma linha em um JLabel e o anexamos à janela do aplicativo. Observe a criação de uma classe personalizada que herda de JLabel:

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

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

public class Estudos extends JFrame{
  public Estudos() {
    super("Desenhando em um JLabel");
    
    Container c = getContentPane();

    // Cria o JLabel
    MinhaLabel label = new MinhaLabel();
    c.add(label);

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

// classe personalizada que permite desenhar
class MinhaLabel extends JLabel{
  protected void paintComponent(Graphics g){
    super.paintComponent(g);
    g.drawLine(0, 0, 200, 200); 
  }
}



Vamos testar seus conhecimentos em AutoCAD Civil 3D

COGO Points no AutoCAD Civil 3D

Qual das ordens de fluxo de trabalho abaixo é a correta para definir o estilo da label de um COGO point na janela Panorama?

A) Selecione Edit Points na aba Toolpace -> Prospector, botão direito no título da coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK.

B) Selecione Edit Points na aba Toolpace -> Prospector, duplo-clique na célula desejada na coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK.

C) Selecione Refresh na aba Toolpace -> Prospector, duplo-clique na célula desejada na coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK.

D) Selecione Edit Points na aba Toolpace -> Toolbox, duplo-clique no título da coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

COGO Points no AutoCAD Civil 3D

Qual parâmetro do COGO point é controlado pela configuração Point Identity na barra de ferramentas Create Points?

A) Point location (Localização do ponto)

B) Point name (Nome do ponto)

C) Point description (Descrição do ponto)

D) Point number (Número de ponto)
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Formas: Confecção e colocação

O artifício chamado de contraflecha, usual no processo de execução de formas para estruturas em concreto armado, é utilizado para impedir o quê?

A) A tração.

B) A compressão.

C) A flexão.

D) A torção.

E) O cisalhamento.
Verificar Resposta Estudar Cards Todas as Questões

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

Instalações prediais de combate a incêndio

O fogo é fundamental para o desenvolvimento da humanidade, mas é muito danoso às edificações, visto que pode causar prejuízos financeiros e sociais. Para tanto, as edificações necessitam de instalações prediais de combate a incêndio, que são projetadas para evitar prejuízos materiais e de vida decorrentes de um incêndio na edificação.

Sobre as instalações prediais de combate a incêndio, são feitas as seguintes proposições:

I - Têm sistemas concebidos para preservar a vida dos ocupantes das edificações e de áreas de risco, em caso de incêndio.

II - São projetadas com dispositivos que dificultam a propagação do fogo, diminuindo os prejuízos ao patrimônio e ao meio ambiente.

III - São concebidas para controlar e extinguir o incêndio, bem como favorecer a entrada do corpo de bombeiros na edificação.

Quais proposições estão corretas?

A) I, II e III.

B) I e II.

C) II e III.

D) I e III.

E) Apenas a III.
Verificar Resposta Estudar Cards Todas as Questões

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

Água Fria: Reservatórios

Uma edificação possui 10 ocupantes com um consumo médio per capita de 200 litros por dia. Qual a capacidade total mínima do reservatório, segundo a NBR 5.626, sem considerar a reserva de incêndio?

A) 6 m3.

B) 1,6 m3.

C) 2 m3.

D) 8 m3.

E) 500 litros.
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á 27 usuários muito felizes estudando em nosso site.