Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Como testar se um número é potência de três usando Java - Desafio de Programação Resolvido em Java

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

Escreva um programa Java contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de três.

Sua saída deverá ser parecida com:

Informe um valor inteiro: 9
O valor 9 é potência de três
Informe um valor inteiro: 12
O valor 12 não é potência de três
Informe um valor inteiro: 27
O valor 27 é potência de três
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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 um valor inteiro
    System.out.print("Informe um valor inteiro: ");
    int valor = Integer.parseInt(entrada.nextLine());
    
    // vamos testar se o número informado é potência de três
    if(isPotenciaDeTres(valor)){
      System.out.println("O valor " + valor + " é potência de três");
    }
    else{
      System.out.println("O valor " + valor + " não é potência de três");
    }
  }
  
  // método que recebe um número inteiro e informe se ele é
  // potência de três
  public static boolean isPotenciaDeTres(int n){
    // enquanto o módulo do número por três for igual a zero
    while (n % 3 == 0){
      // número recebe ele mesmo dividido por três
      n = n / 3;
    }         
    
    // returna verdadeiro se número for igual a 1
    return n == 1;
  }
}


Link para compartilhar na Internet ou com seus amigos:

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

Como calcular raiz quadrada em Java usando a função sqrt() da classe Math

Quantidade de visualizações: 8027 vezes
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras.

Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que:

\[\sqrt{9} = 3\]

então, pela potenciação:

\[3^2 = 9\]

Agora veremos como calcular a raiz quadrada usando a função sqrt() da classe Math da linguagem Java. Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler o valor
    System.out.print("Informe o valor desejado: ");
    double valor = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular a raiz quadrada
    double raiz = Math.sqrt(valor);
    // e agora mostramos o resultado
    System.out.println("A raiz quadrada do valor informado é: " + 
      raiz);
  }
}

Ao executar este código teremos o seguinte resultado:

Informe o valor desejado: 9
A raiz quadrada do valor informado é: 3.0

É importante observar que, se fornecermos um valor negativo para a função sqrt(), o resultado será NaN (Not a Number, não é um número). Veja:

Informe o valor desejado: -9
A raiz quadrada do valor informado é: NaN


Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como adicionar um JPopupMenu a um JTextArea

Quantidade de visualizações: 9998 vezes
Neste exemplo mostrarei como é possível associar um JPopupMenu a um JTextArea. Dessa forma, quando clicarmos com o botão auxiliar na área de texto, nós teremos algumas opções de menu, tais como copiar, colar, selecionar tudo, etc.

Veja o resultado na imagem abaixo:



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

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  JTextArea textArea;
  JPopupMenu popup;
  JMenuItem selecionar; 
  
  public Estudos() {
    super("Uso de JPopupMenu em um JTextArea");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    textArea = new JTextArea(10, 20);
    JScrollPane scrollPane = new JScrollPane(textArea);
     
    textArea.addMouseListener(
        new MouseAdapter(){
            @Override
            public void mouseReleased(MouseEvent e){
              if(e.isPopupTrigger())
                popup.show(e.getComponent(), e.getX(),
                  e.getY());
            }
        }   
    );
     
    // cria o JPopupMenu
    popup = new JPopupMenu();
    selecionar = new JMenuItem("Selecionar Tudo");
    selecionar.addActionListener(
        new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent ev){
                textArea.requestFocus();
                textArea.selectAll();
            }
        }   
    );
     
    popup.add(selecionar);
    // fim menu
     
    c.add(scrollPane);
     
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout

Como usar o gerenciador de layout GridBagLayout em suas aplicações Java Swing

Quantidade de visualizações: 12414 vezes
O gerenciador de layout GridBagLayout é um dos mais complexos e mais flexíveis. Embora possa parecer, esta classe não é uma sub-classe de GridLayout, como mostra sua posição na hierarquia de classes Java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

java.lang.Object
  java.awt.GridBagLayout

Esta classe implementa as interfaces LayoutManager, LayoutManager2 e Serializable.

A vantagem do gerenciador de layout GridBagLayout em relação ao GridLayout, é que, com o GridBagLayout nós podemos fazer com que os componentes nas linhas e colunas possam ter diferentes tamanhos e às vezes ocupar múltiplas linhas e colunas.

O trecho de código abaixo mostra a forma mais simples de se criar um GridBagLayout. Veja que os botões são arranjados de forma horizontal na janela. É claro que sem os ajustes necessários, não tiramos muito proveito do uso deste gerenciador (mas isso será visto em outras dicas dessa seção):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

public class Estudos extends JFrame{
  public Estudos(){
    super("Como usar a classe GridBagLayout");

    // define o layout
    setLayout(new GridBagLayout());

    // adiciona componentes à janela
    add(new JButton("Botão 1"));
    add(new JButton("Botão 2"));
    add(new JButton("Botão 3"));
    add(new JButton("Botão 4"));
    
    setSize(350, 150);
    setVisible(true);    
  }

  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

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




Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

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



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