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 ::: Fundamentos da Linguagem ::: Tipos de Dados

Java para iniciantes - Como usar o tipo de dados long da linguagem Java

Quantidade de visualizações: 14607 vezes
O tipo de dados long pode ser usado quando queremos armazenar valores inteiros na faixa -9.223.372.036.854.775.808 até 9.223.372.036.854.775.807. 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 
----------------------------------------------------------------------

public class Estudos{
  static long valor = 545L; 
  
  public static void main(String args[]){
    System.out.println("O valor da variável é: "
      + valor);
    System.exit(0);
  }
}

Observe o uso do caractere "L" após o valor literal que atribuímos à variável. Isso é feito para que o compilador trate o literal como long e não como int. Você pode usar o "L" minúsculo, mas este se parece muito com o número um, o que torna seu uso pouco recomendável.

O tipo de dados long pode ser convertido (sem a necessidade de cast) para os seguintes tipos:

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

long -> float -> double

Se precisarmos converter o tipo int para os tipos char, byte, short ou int, teremos que lançar mão de uma coerção (cast). Veja:

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

byte valor2 = (byte)(valor);


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Data e Hora

Como usar a classe Calendar do Java em suas aplicações - Java para iniciantes

Quantidade de visualizações: 21316 vezes
[Baseado na documentação Java] - A classe Calendar (pacote java.util) é uma classe abstrata (que não pode ser instanciada usando new) que fornece métodos para efetuar a conversão entre um momento específico no tempo e um conjunto de campos de calendário, tais como YEAR, MONTH, DAY_OF_MONTH, HOUR e assim por diante, e para manipular tais campos, por exemplo, obter a data da próxima semana. Um momento no tempo pode ser representado por um valor de milisegundos que é a diferença entre a data atual e a zero hora do dia 01/01/1970 (Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian)).

Veja a posição desta classe na hierarquia de classes Java:

java.lang.Object
  java.util.Calendar
A classe Calendar implementa as interfaces Serializable, Cloneable e Comparable<Calendar> e sua subclasse conhecida é GregorianCalendar.

Esta classe também fornece campos e métodos adicionais para a implementação de um sistema concreto de calendário fora do pacote java.util. Estes campos e métodos são definidos como protected.

Assim como as demais classes sensitivas à localização (locale-sensitive), a classe Calendar fornece um método de classe chamado getInstance() que nos permite obter um objeto desta classe. Este método retorna um objeto Calendar cujos campos de calendário são inicializados com a data e hora atual. Veja:

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

public class Estudos{ 
  public static void main(String args[]){ 
    Calendar agora = Calendar.getInstance();
    System.out.println(agora.toString());
  } 
}

Experimente executar este programa e terá um resultado parecido com:

java.util.GregorianCalendar[time=1228937781807,
areFieldsSet=true,areAllFieldsSet
=true,lenient=true,zone=sun.util.calendar.ZoneInfo
[id="America/Sao_Paulo",offset
=-10800000,dstSavings=3600000,useDaylight=true,
transitions=129,lastRule=java.uti
l.SimpleTimeZone[id=America/Sao_Paulo,offset=
-10800000,dstSavings=3600000,useDay
light=true,startYear=0,startMode=3,startMonth=9,
startDay=15,startDayOfWeek=1,sta
rtTime=0,startTimeMode=0,endMode=3,endMonth=1,
endDay=15,endDayOfWeek=1,endTime=0
,endTimeMode=0]],firstDayOfWeek=2,
minimalDaysInFirstWeek=1,ERA=1,YEAR=2008,MONTH
=11,WEEK_OF_YEAR=50,WEEK_OF_MONTH=2,DAY_OF_MONTH=
10,DAY_OF_YEAR=345,DAY_OF_WEEK=
4,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=5,HOUR_OF_DAY
=17,MINUTE=36,SECOND=21,MILLI
SECOND=807,ZONE_OFFSET=-10800000,DST_OFFSET=3600000]


Como podemos ver, todas as informações relativas à data e hora que poderemos precisar estão contidas neste resultado.

Um objeto Calendar pode produzir todos os valores de todos os campos de calendário necessários para implementar a formatação de data e hora para uma determinada língua e estilo de calendário (por exemplo, Japanese-Gregorian, Japanese-Traditional). A classe Calendar define a faixa de valores retornados por determinados campos de calendário, assim como seus significados. Por exemplo, o primeiro mês do sistema de calendário tem o valor MONTH == JANUARY para todos os calendários. Outros valores são definidos por subclasses concretas, tais como ERA.


Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação orientada a objetos em Java - Como criar e usar interfaces em seus programas Java

Quantidade de visualizações: 11704 vezes
Muitos estudantes de Java torcem o nariz quando nós, professores e instrutores, tocamos no assunto de interfaces. Definitivamente este não é um tópico fácil de entender ao primeiro contato. Comecemos com uma analogia simples. É sabido que é cada vez maior o número de softwares sendo desenvolvidos em equipes, ou seja, o projeto do software é desmembrado e suas funcionalidades são implementadas por grupos diferentes de programadores.

Quando estamos desenvolvendo software em grupos de programadores, é comum desenvolvermos partes que dependem do trabalho de um outro grupo. E, nem sempre podemos esperar que uma parte da qual dependemos fique pronta para só então progredirmos.

Para isso, um contrato entre os grupos de programadores é firmado. E este contrato é o que chamamos de interface. Suponhamos que em um determinado momento meu grupo está desenvolvendo código que depende da parte de impressão, sendo desenvolvida por outro grupo. Todos se reúnem e decidimos quais funcionalidades a classe de impressão terá e quais métodos públicos serão disponibilizados. Feito isso, uma interface contendo a assinatura destes métodos é disponibilizada para todos e o desenvolvimento continua. Mais tarde, quando a classe de impressão estiver sendo desenvolvida, ela poderá implementar a interface anteriormente disponibilizada e tudo está resolvido.

Sendo assim, uma interface na linguagem de programação Java é um tipo referência, similar a uma classe. A diferença é que uma interface pode conter apenas constantes e assinaturas e métodos. Não há a implementação dos corpos dos métodos. Além disso, interfaces não podem ser instanciadas usando new. Veja o que acontece quando tentamos fazer isso (lembre-se de que List é interface):

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

public class Estudos{ 
  public static void main(String args[]){ 
    // cria um objeto da interface List
    List lista = new List();
  } 
}

Ao tentarmos compilar este código teremos a seguinte mensagem de erro:

Estudos.java:6: java.util.List is abstract; 
cannot be instantiated
    List lista = new List();
                 ^
1 error


Interfaces devem ser implementadas por classes ou extendidas por outras interfaces. Agora, um detalhe interessante. Se você verificar a API do Java, verá que a interface List é implementada pelas classes AbstractList, ArrayList, LinkedList e Vector. Desta forma, o código anterior pode ser modificado para:

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

public class Estudos{ 
  public static void main(String args[]){ 
    // cria um objeto da interface List
    List lista = new ArrayList();
  } 
}

Este código compila normalmente e fortalece nossa discussão a respeito da interface de impressão. O sistema inteiro pode fazer referências a uma interface e, para que ele funcione da forma esperada, só precisamos fornecer a classe que implementa a interface no momento de instanciar os objetos. Isso demonstra que o nome de uma interface pode ser usado em qualquer lugar no qual um tipo da classe que a implementa seja necessário.

Vamos ver agora como criar uma interface chamada Pessoa. Veja:

----------------------------------------------------------------------
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 interface Pessoa{
  public void setNome(String nome); 
  public String getNome();
}


Salve esta interface como Pessoa.java e a compile. Pronto! Esta interface já pode ser usada no sistema, contanto que todos do grupo tenham concordado com as assinaturas dos métodos. Agora observe uma classe Cliente que implementa esta interface:

----------------------------------------------------------------------
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 Cliente implements Pessoa{ 
  private String nome;
  private int idade;

  public void setNome(String nome){
    this.nome = nome;
  } 

  public String getNome(){
    return this.nome;
  }
}

Salve este código como Cliente.java e o compile. O primeiro detalhe a observar é o uso da palavra-chave implements para mostrar que a classe implementa a interface Pessoa. Note também que a classe fornece implementação para todos os métodos da interface. Não seguir esta regra geraria o seguinte erro de compilação:

Cliente.java:1: Cliente is not abstract and 
does not override abstract method getNome() in 
Pessoa
public class Cliente implements Pessoa{
       ^
1 error


Em resumo, uma interface define um protocolo de comunicação entre dois objetos e pode conter, além das assinaturas dos métodos, constantes. Neste caso todas estas constantes serão implicitamente public, static e final. Mesmo que estes modificadores sejam omitidos.


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

Como calcular o diâmetro, a circunferência e a área de um círculo dado o raio em Java - Java para Geometria

Quantidade de visualizações: 2195 vezes
O círculo é uma figura geométrica plana e que possui quatro características: seu raio, seu diâmetro, sua circunferência e sua área. Aqui já podemos aproveitar e relembrar a diferença entre o círculo e a circunferência. O círculo é o conjunto de pontos resultantes da união entre uma circunferência e seus pontos internos, ou seja, o círculo é a área cuja delimitação é uma circunferência.

É importante observar que alguns autores tratam o círculo como uma circunferência. Assim, para estes autores, calcular a circunferência de um círculo equivale a calcular o perímetro da circunferência.

Veja a figura a seguir para relembrar o que é o raio de um círculo:



Nesta dica mostrarei como podemos usar Java para calcular o diâmetro, a circunferência e a área de um círculo tendo apenas o raio como informação. Antes, porém, vamos às formulas. Sabendo que r é o raio, temos:

\[\text{Diâmetro d} = 2 \times r \]

\[\text{Circunferência C} = 2 \times \pi \times r \]

\[\text{Área A} = \pi \times r^2 \]

Agora vamos ver o código Java que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área:

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

public class Estudos{
  public static void main(String[] args){
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler o raio do círculo
    System.out.print("Informe o raio do círculo: ");
    double raio = Double.parseDouble(entrada.nextLine());
    
    // vamos achar o diâmetro do círculo
    double diametro = 2 * raio;
    // agora calculamos a circunferência
    double circunferencia = 2 * Math.PI * raio;
    // finalmente calculamos a área do círculo
    double area = Math.PI * Math.pow(raio, 2);
    
    // vamos mostrar os resultados
    System.out.println("O diâmetro do círculo é: " +
      diametro);
    System.out.println("A circunferência do círculo é: " +
      circunferencia);
    System.out.println("A área do círculo é: " + area);
  }
}

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

Informe o raio do círculo: 10
O diâmetro do círculo é: 20.0
A circunferência do círculo é: 62.83185307179586
A área do círculo é: 314.1592653589793

Lembre-se de que a área é em centímetros quadrados, metros quadrados, etc.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres

Exercícios Resolvidos de Java - Como retornar o código ASCII associado a um caractere em Java - Ler um caractere e retornar o código ASCII correspondente

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

Escreva um programa Java que pede para o usuário informar um caractere (letra ou número) e mostre o código ASCII correspondente.

Sua saída deverá ser parecida com:

Informe um caractere: A
Você informou o caractere: A
O código ASCII correspondente é: 65
Resposta/Solução:

Veja a resolução comentada deste exercício em 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) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar uma letra, símbolo ou pontuação
    System.out.print("Informe um caractere: ");
    
    // vamos ler o caractere informado
    char caractere = entrada.nextLine().charAt(0);
    
    // agora vamos obter o código ASCII correspondente
    int codigo = (int)caractere;
    
    // e mostramos o resultado
    System.out.println("Você informou o caractere: " + caractere);
    System.out.println("O código ASCII correspondente é: " + codigo);
  }
}

O Código Padrão Americano para o Intercâmbio de Informação (do inglês American Standard Code for Information Interchange - ASCII, pronunciado [áski]) é um sistema de representação de letras, algarismos e sinais de pontuação e de controle, através de um sinal codificado em forma de código binário (cadeias de bits formada por vários 0 e 1), desenvolvido a partir de 1960, que representa um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, algarismos arábicos, sinais de pontuação e sinais matemáticos) e 33 sinais de controle, utilizando 7 bits para representar todos os seus símbolos.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Escreva um programa Java para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no array

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

Dado o seguinte vetor de inteiros:

// vamos declarar e construir um vetor de 8 inteiros
int valores[] = {0, 3, 0, 5, 7, 4, 0, 9};
Escreva um programa Java para mover todos os zeros para o final do vetor, ou seja, para a direita, sem alterar a ordem dos elementos diferentes de zero já presentes no array e sem criar um vetor adicional ou temporário.

Sua saída deverá ser parecida com:

Vetor na ordem original:

0   3   0   5   7   4   0   9   

Vetor com os zeros deslocados para o final:

3   5   7   4   9   0   0   0
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 exercicio;

public class Exercicio {
  public static void main(String[] args) {
    // vamos declarar e construir um vetor de 8 inteiros
    int valores[] = {0, 3, 0, 5, 7, 4, 0, 9};
    
    // vamos mostrar o vetor na ordem original
    System.out.println("Vetor na ordem original:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");
    }
    
    // vamos inicializar j como 0 para que ele aponte para
    // o primeiro elemento do vetor
    int j = 0;
    
    // agora o laço for percorre todos os elementos do vetor,
    // incrementanto a variável i e deixando o j em 0
    for(int i = 0; i < valores.length; i++){
      // encontramos um valor que não é 0
      if(valores[i] != 0){
        // fazemos a troca entre os elementos nos índices
        // i e j
        int temp = valores[i];
        valores[i] = valores[j];
        valores[j] = temp;
        // e avançamos o j para o elemento seguinte
        j++;
      }
    }
    
    // agora mostramos o resultado
    System.out.println("\n\nVetor com os zeros deslocados para o final:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");
    }
    
    System.out.println();
  }
}

Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes.


Java ::: Classes e Componentes ::: JTable

Java Swing - Como detectar qual linha ou coluna está selecionada em uma tabela JTable

Quantidade de visualizações: 4 vezes
Nesta dica mostrarei como podemos usar o método valueChanged() da interface ListSelectionListener para detectar qual linha ou coluna está selecionada em um objeto JTable. Essa técnica interessante, pois permite facilmente a construção de tabelas mestre-detalhe, na qual selecionamos um cliente em uma JTable e outra JTable é atualizada mostrando somente os pedidos para o cliente selecionado.

Eis o resultado na imagem abaixo:



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

import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
 
public class Estudos extends JFrame{
  private boolean ALLOW_COLUMN_SELECTION = false;
  private boolean ALLOW_ROW_SELECTION = true;
   
  public Estudos(){
    super("Exemplo de uma tabela simples");
         
    // colunas da tabela
    String[] colunas = {"Cidade", "Estado", "Habitantes"};
         
    // conteúdo da tabela   
    Object[][] conteudo = {
        {"Goiânia", "GO", "43.023.432"},
        {"São Paulo", "SP", "5.343.234"},
        {"Rio de Janeiro", "RJ", "6.434.212"},
        {"Jussara", "GO", "87.454"},
        {"Barra do Garças", "MT", "64.344"}
    };
         
    // constrói a tabela
    final JTable tabela = new JTable(conteudo, colunas);
    tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
     
    // permite selecionar apenas uma linha de cada vez
    tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
     
    // detecta seleções de linha
    if(ALLOW_ROW_SELECTION){ // verdadeiro por padrão
      ListSelectionModel rowSM = tabela.getSelectionModel();
      rowSM.addListSelectionListener(new ListSelectionListener(){
         public void valueChanged(ListSelectionEvent e){
            if(e.getValueIsAdjusting()) 
               return;
 
            ListSelectionModel lsm = (ListSelectionModel)e.getSource();
            if(lsm.isSelectionEmpty()){
               System.out.println("Nenhuma linha selecionada.");
            }
            else{
               int selectedRow = lsm.getMinSelectionIndex();
               System.out.println("Linha " + selectedRow
                 + " foi selecionada.");
            }
         }
      });
    }
    else{
       tabela.setRowSelectionAllowed(false);
    }
 
    if(ALLOW_COLUMN_SELECTION){ // falso por padrão
      if(ALLOW_ROW_SELECTION){
         tabela.setCellSelectionEnabled(true);
      }
      tabela.setColumnSelectionAllowed(true);
      ListSelectionModel colSM = tabela.getColumnModel().getSelectionModel();
      colSM.addListSelectionListener(new ListSelectionListener(){
         public void valueChanged(ListSelectionEvent e){
            if(e.getValueIsAdjusting()) 
              return;
 
            ListSelectionModel lsm = (ListSelectionModel)e.getSource();
            if(lsm.isSelectionEmpty()) {
               System.out.println("Nenhuma coluna selecionada.");
            } 
            else{
               int selectedCol = lsm.getMinSelectionIndex();
               System.out.println("Coluna " 
                 + selectedCol + " está selecionada.");
            }
          }
      });
    }
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
             
    JScrollPane scrollPane = new JScrollPane(tabela);
    c.add(scrollPane);
         
    setSize(400, 300);
    setVisible(true);
  }
     
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



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

Exercícios Resolvidos de Java - Como escrever uma função Java que recebe dois números inteiros e retorna a soma desses dois valores como um inteiro

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

Escreva um método estático em Java chamado somar() que recebe dois números inteiros e retorna a soma desses dois valores como um inteiro. Este método deverá ter a seguinte assinatura:

public static int somar(int a, int b){
  // sua implementação aqui
}
Este método deverá, obrigatoriamente, estar na classe principal (aquela que contém o método main()). Após a implementação do método somar(), vá até o método main() e peça ao usuário para informar dois números inteiros. Em seguida faça uma chamada ao método somar() passando os dois valores como argumentos, obtenha o retorno e exiba-o.

Sua saída deverá ser parecida com:

Informe o primeiro número: 4
Informe o segundo número: 3
A soma dos dois números é: 7
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 fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir ao usuário que informe dois valores inteiros
    System.out.print("Informe o primeiro número: ");
    int n1 = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o segundo número: ");
    int n2 = Integer.parseInt(entrada.nextLine());
    
    // vamos efetuar uma chamada ao método somar() e obter seu retorno
    int resultado = somar(n1, n2);
    
    // finalmente mostramos o resultado
    System.out.println("A soma dos dois números é: " + resultado);
  }
  
  // método estático que recebe dois inteiros e retorna a soma como um número inteiro
  public static int somar(int a, int b){
    int soma = a + b; // soma os dois números
    return soma; // retorna a soma para o método chamado
  }
}



Java ::: Dicas & Truques ::: Matemática e Estatística

Como calcular porcentagem em Java - Como efetuar cálculos de porcentagem em Java

Quantidade de visualizações: 55001 vezes
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em Java.

Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas.

Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em 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 
----------------------------------------------------------------------

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double valor, percentual, valor_final;

    valor = 178.00; // valor original
    percentual = 15.0 / 100.0; // 15%
    valor_final = valor + (percentual * valor);

    // mostra o resultado
    System.out.println("O valor final do produto é: " + valor_final);

    // O resultado será 204,70
  }
}

Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em 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 
----------------------------------------------------------------------

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double valor, percentual, valor_final;

    valor = 250.00; // valor original
    percentual = 8.0 / 100.0; // 8%
    valor_final = valor - (percentual * valor);

    // mostra o resultado
    System.out.println("O valor final do produto é: " + valor_final);
  
    // O resultado será 230,00
  }
}

Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em 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 
----------------------------------------------------------------------

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double perguntas, acertos;

    perguntas = 90.0;
    acertos = 72.0;

    // mostra a porcentagem de acertos
    System.out.print("Porcentagem de acertos: ");
    System.out.println(((acertos / perguntas) * 100) + "%");

    // mostra a porcentagem de erros
    System.out.print("Porcentagem de erros: ");
    System.out.println((((perguntas - acertos) / perguntas) * 100) + "%");

    // Os resultados serão 80% e 20%
  }
}

Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em 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 
----------------------------------------------------------------------

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double valor_anterior, novo_valor, porcentagem_lucro;

    valor_anterior = 300.0; // valor anterior
    novo_valor = 340.0; // valor novo

    // calcula a porcentagem de lucro
    // efetua o cálculo
    porcentagem_lucro = ((novo_valor * 100) / valor_anterior) - 100;

    System.out.println("A porcentagem de lucro foi de: " +
      porcentagem_lucro + "%");

    // O resultado será 13,33
  }
}

Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em 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 
----------------------------------------------------------------------

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double valor, percentual, comissao;

    valor = 70.0; // valor do produto
    percentual = 5.0 / 100.0; // 5%

    // calcula a comissão
    comissao = percentual * valor;

    // mostra o resultado
    System.out.println("O valor repassado ao vendedor é: " + comissao);

    // O resultado será 3,5
  }
}



Vamos testar seus conhecimentos em Fundações

Sondagem à Percussão (SPT) e Rotativa (RQD)

Identifique a qualidade do maciço através do RQD de uma porção da rocha cuja manobra na sondagem rotativa foi de 1,5m e recuperou-se os seguintes fragmentos: 12cm + 16cm + 7cm + 35cm + 6cm + 14cm + 8cm + 2cm + 50cm.

A) Trata-se de um maciço muito fraco. RQD menor que 25%.

B) Trata-se de um maciço fraco, com RQD entre 25 e 50%.

C) Trata-se de um maciço regular, com RQD entre 50 e 75%.

D) Trata-se de um maciço bom, com RQD entre 75 e 90%.

E) Trata-se de um maciço excelente, RQD=100%.
Verificar Resposta Estudar Cards Todas as Questões

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

Instalação hidrossanitária: fundamentos e definições

Sobre as instalações prediais de água fria, assinale a alternativa correta.

A) A coluna de distribuição é a tubulação que tem a função de interligar o barrilete aos ramais, exceto no sistema direto.

B) No sistema direto, a coluna de distribuição é a tubulação, que tem a função de interligar o conjunto elevatório ao barrilete.

C) A coluna de distribuição tem a função de efetuar o recalque da água no sistema direto de fornecimento.

D) No sistema indireto de fornecimento, a coluna de distribuição tem a função de elevar a água para os ramais.

E) A coluna de distribuição é a tubulação, que tem a função de interligar o ramal predial ao reservatório superior, independentemente do sistema de fornecimento.
Verificar Resposta Estudar Cards Todas as Questões

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

Sistema domiciliar de abastecimento de água

Se alguém mergulha numa piscina, a água exerce uma pressão sobre o corpo. Da mesma forma, a água exerce uma pressão sobre outros fluidos ou sobre uma superfície. Essa pressão não depende do volume de água contido em determinado recipiente, mas da altura do nível da água.

Assim, ao se dimensionar as tubulações, deve-se considerar as pressões máximas e mínimas que serão suportadas pelas tubulações. Dessa forma, a pressão máxima que a instalação de água fria pode apresentar durante o funcionamento dos aparelhos é:

Selecione a resposta:

A) 0,5mca.

B) 60mca.

C) 20mca.

D) 40mca.

E) 5mca.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Turbinas hidráulicas

Turbinas hidráulicas têm como principal aplicação a geração de energia, transformando energia cinética da água em energia mecânica, que será posteriormente convertida em energia elétrica.

Sobre as turbinas hidráulicas, marque a alternativa correta:

A) Uma turbina do tipo Francis apresenta uma baixa eficiência e pode ser operada apenas em baixas vazões.

B) Uma turbina do tipo Francis tem eficiência relativamente baixa, porém tem ampla faixa de operação.

C) A turbina do tipo Pelton tem um conjunto de pás fixas que podem ajustar o ângulo de entrada da água.

D) A turbina do tipo Kaplan foi adaptada a partir da turbina de hélice e pode ser operada em grandes vazões.

E) Uma turbina do tipo Pelton tem suas pás em formato de conchas e são operadas em grandes vazões.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

Qual dos rios, entre os listados abaixo, não está localizado no território brasileiro?

A) Rio São Francisco.

B) Rio Tocantins.

C) Rio Orinoco.

D) Rio Araguaia.

E) Rio Paraíba do Sul.
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á 39 usuários muito felizes estudando em nosso site.