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 ::: Estruturas de Controle

Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menor - Desafio de Programação Resolvido em Java

Quantidade de visualizações: 953 vezes
Exercícios Resolvidos de Java - Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menor

Pergunta/Tarefa:

Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menor que R$ 20,00; caso contrário, o lucro será de 30%. Elabore um algoritmo que leia o valor do produto e imprima o valor de venda para o produto.

Sua saída deverá ser parecida com:

Informe o valor do produto: 85
O valor de venda é: 110.5
Resposta/Solução:

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

Código para a classe Principal (Principal.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;

import java.util.Scanner;

public class Exercicio {
  public static void main(String[] args) {
    // vamos efetuar a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler o valor do produto
    System.out.print("Informe o valor do produto: ");
    double valor = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular o valor de venda
    double valorVenda;
    if(valor < 20){
      valorVenda = valor + (valor * (45.0 / 100)); 
    }
    else{
      valorVenda = valor + (valor * (30.0 / 100));
    }
    
    System.out.println("O valor de venda é: " + valorVenda);
  }
}


Link para compartilhar na Internet ou com seus amigos:

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

Exercício Resolvido de Java - Como converter minutos em segundos em Java usando uma função

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

Escreva um programa Java para converter minutos em segundos. Você deverá criar uma função converter() que receberá, como argumento, um número inteiro representando os minutos e retornará, também como um inteiro, os segundos correspondentes. Os minutos deverão ser informados pelo usuário.

Sua saída deverá ser parecida com:

Informe os minutos: 15
A quantidade de segundos é: 900
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 os minutos
    System.out.print("Informe os minutos: ");
    int minutos = Integer.parseInt(entrada.nextLine());
  
    // agora vamos chamar a função converter() para converter
    // os minutos em segundos
    int segundos = converter(minutos);
  
    // e mostramos o resultado
    System.out.println("A quantidade de segundos é: " + segundos);
  }
  
  // função usada para converter minutos em segundos
  public static int converter(int minutos){
    int segundos = minutos * 60;
    return segundos; 
  }
}



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

Como comparar strings em Java usando o método equals() da classe String

Quantidade de visualizações: 191 vezes
Em várias ocasiões nós precisamos efetuar a comparação de textos, frases ou palavras em Java. Para isso nós podemos usar o método equals() da classe String. Esta função recebe as duas strings a serem testadas e retorna true se as duas strings forem iguais e false em caso contrário.

Veja um exemplo de seu uso:

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

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

// Este exemplo mostra como comparar duas strings
// em Java usando o método equals()

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args) {
    // vamos declarar duas strings
    String s1 = "Gosto de Java";
    String s2 = "Gosto de java";
    
    // e agora vamos verificar se as duas são iguais
    if(s1.equals(s2)){
      System.out.println("As duas strings são iguais");
    }
    else{
      System.out.println("As duas strings são diferentes");
    }
      
    System.exit(0);
  }
}

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

As duas strings são diferentes.

É importante ter em mente que o método equals() diferencia maiúsculas de minúsculas.


Java ::: Dicas & Truques ::: Expressões Regulares

Java Expressões Regulares - Como substituir todas as ocorrências de uma substring em uma string usando expressões regulares

Quantidade de visualizações: 9255 vezes
Este exemplo mostra como substituir todas as ocorrências de uma substring em uma string usando expressões regulares na linguagem Java.

Nesta dica nós substituimos todas as ocorrências de "Java" por "C++".

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

package arquivodecodigos;

import java.util.regex.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    String padrao = "Java";
    Pattern regPat = Pattern.compile(padrao);
    String frase = "Java? Gosto muito de Java.";
    System.out.println("Frase original: " + frase);
    Matcher matcher = regPat.matcher(frase);
    String res = matcher.replaceAll("C++");
    System.out.println("Depois da substituição: " + res);
  } 
} 

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

Frase original: Java? Gosto muito de Java.
Depois da substituição: C++? Gosto muito de C++.


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

Java para iniciantes - Como usar o método parseInt() da classe Integer para converter uma String em um valor do tipo int

Quantidade de visualizações: 95608 vezes
Em algumas situações, principalmente quando estamos lidando com valores informados pelo usuário, nós precisamos converter uma String em um valor inteiro. Para isso podemos usar o método parseInt() da classe Integer. Veja sua assinatura:

----------------------------------------------------------------------
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 static int parseInt(String s)
  throws NumberFormatException

A String fornecida como argumento deve conter apenas digitos decimais, exceto que o primeiro caractere pode ser o caractere ASCII sinal de menos "-" ('\u002D') para indicar um valor negativo ou o caractere ASCII sinal de mais "+" ('\u002B') para indicar um valor positivo.

Veja um exemplo no qual usamos o método parseInt() para converter uma String informada pelo usuário em um valor do tipo int:

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

public class Estudos {
  public static void main(String[] args) {
    // vamos usar um objeto da classe Scanner para ler a idade do usuário
    Scanner entrada = new Scanner(System.in);
    
    // solicita a idade
    System.out.print("Informe sua idade: ");
    int idade = Integer.parseInt(entrada.nextLine());
    
    // mostra o valor lido
    System.out.println("A idade informada foi: " + idade);    
  }
}

Ao executarmos este código teremos o seguinte resultado:

Informe sua idade: 28
A idade informada foi: 28

Há, porém, situações nas quais o usuário pode não seguir as recomendações de não inserir caracteres inválidos, o que inviabiliza a conversão para inteiro. 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 
----------------------------------------------------------------------

Informe sua idade: osmar
Exception in thread "main" java.lang.NumberFormatException: 
For input string: "osmar"
  at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:48)
  at java.lang.Integer.parseInt(Integer.java:447)
  at java.lang.Integer.parseInt(Integer.java:497)
  at Estudos.main(Estudos.java:10)

Para contornar esta situação nós precisamos fornecer um bloco try...catch para tratar a exceção NumberFormatException. 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.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos usar um objeto da classe Scanner para ler a idade do usuário
    Scanner entrada = new Scanner(System.in);
    
    // solicita a idade
    System.out.print("Informe sua idade: ");
    
    try{
      int idade = Integer.parseInt(entrada.nextLine());
    
      // mostra o valor lido
      System.out.println("A idade informada foi: " + idade);
    }
    catch(NumberFormatException nfe){
      System.out.println("Valor inválido: " + nfe.getMessage());	
    }    
  }
}

Agora o programa exibirá uma mensagem de erro caso o usuário forneça uma String que não pode ser convertida para inteiro.


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

Manipulação de arquivos em Java - Como ler o conteúdo de um arquivo um byte de cada vez

Quantidade de visualizações: 11078 vezes
Nesta dica mostrarei como ler texto de um arquivo um byte
de cada vez. Para isso vamos usar o método readByte() da classe DataInputStream, do pacote java.io. Note que este método retorna um inteiro com sinal na faixa de -128 até 127.

Neste exemplo faremos um cast do byte lido para um char, já que estaremos lendo um arquivo de texto. Sim, é isso mesmo que você pensou. Se houver caracteres acentuados no arquivo texto, os mesmo não serão exibidos corretamente. A idéia do exemplo é mostrar o funcionamento do método readByte().

Veja o código Java 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 
----------------------------------------------------------------------

package arquivodecodigos;

import java.io.*;
 
public class Estudos{
  public static void main(String[] args){
    try {
      DataInputStream in = new DataInputStream(new BufferedInputStream(
        new FileInputStream("C:\\java\\conteudo.txt")));
         
      while (in.available() != 0){
        System.out.print((char) in.readByte());
      }
    } 
    catch (IOException e){
      System.out.println("Erro: " + e.getMessage());
    }
 
    System.exit(0);
  }
}

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

Primeira linha do arquivo
Segunda linha do arquivo
Terceira linha do arquivo


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

Como ordernar uma ArrayList de Strings em ordem alfabética usando o método sort() da classe Collections da linguagem Java

Quantidade de visualizações: 22816 vezes
Neste exemplo mostrarei como podemos ordenar um ArrayList de Strings em ordem alfabética. Para isso usaremos o método sort() da classe Collections. É importante observar que estou usando String no exemplo. Se você quiser usar objetos de suas próprias classes, elas precisarão implementar a interface Comparable.

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

package arquivodecodigos;

import java.util.ArrayList;
import java.util.Collections;
 
public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<>();
     
    // adiciona itens na lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");    
     
    // exibe os elementos da ArrayList
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));    
    }
      
    // Vamos ordenar os elementos
    Collections.sort(nomes); 
 
    // exibe os elementos da ArrayList
    System.out.println();
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));
    }
 
    System.exit(0);
  }
}

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

Carlos
Maria
Fernanda
Osmar

Carlos
Fernanda
Maria
Osmar

Este código foi testado no Java 8.


Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como detectar alterações no conteúdo de um JTextArea

Quantidade de visualizações: 9020 vezes
Nesta dica veremos como é possível escrever uma aplicação Java Swing que detecta quando o conteúdo de um controle JTextArea é alterado. Para isso nós vamos fazer a janela JFrame implementar a interface DocumentListener e fornecer comportamento para seus método insertUpdate(), removeUpdate() e changedUpdate().

O resultado do código é refletido na imagem abaixo:



E agora o código Java Swing completo para o exemplo:

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

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

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
 
public class Estudos extends JFrame implements DocumentListener{
  JTextArea textArea;
  JLabel aviso;
 
  public Estudos() {
    super("Detectando alterações em um JTextArea");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
     
    textArea = new JTextArea(10, 20);
    textArea.setLineWrap(true);
    textArea.getDocument().addDocumentListener(this);
     
    aviso = new JLabel("Aviso de alterações");   
        
    c.add(textArea);
    c.add(aviso);
     
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
   
  public void insertUpdate(DocumentEvent e) {
    aviso.setText("Aviso de Inserção: " + e.toString());
  }
 
  public void removeUpdate(DocumentEvent e) {
    aviso.setText("Aviso de Remoção: " + e.toString());
  }
 
  public void changedUpdate(DocumentEvent e) {
    // pode obter os dois anteriores aqui
    // aviso.setText("Aviso de Alteração: " + e.toString());
  }
}



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

Como renomear um arquivo em Java usando a função renameTo() da classe File

Quantidade de visualizações: 53 vezes
Nesta dica eu mostro como podemos tirar proveito do método renameTo() da classe File do Java para renomear arquivos. Lembre-se de que a classe File está no pacote java.io. Além disso, não coloquei try...catch no exemplo. Faça isso caso você deseje usar este código em aplicações reais.

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

package arquivodecodigos;

import java.io.File;

public class Estudos{
  public static void main(String[] args){
    // arquivo com o nome antigo
    File arquivo1 = new File("c:\\java\\Conectar.java");
     
    // arquivo com o novo nome
    File arquivo2 = new File("c:\\java\\Conectar2.java");
     
    boolean ok = arquivo1.renameTo(arquivo2);
    if(ok){
      System.out.println("Arquivo renomeado com sucesso.");
    }
    else{
      System.out.println("Nao foi possivel renomear o arquivo.");
    }
  }
}

Se o arquivo puder se renomeado com sucesso você verá a mensagem:

Arquivo renomeado com sucesso.


Vamos testar seus conhecimentos em

Dimensionamento de lajes maciças à flexão

As lajes de concreto armado são elementos planos e horizontais, submetidos a carregamentos perpendiculares ao plano. Esses carregamentos promovem o desenvolvimento de esforços internos de flexão.

Analise as afirmativas a seguir referentes aos tipos de flexão:

I. A flexão normal ocorre em uma seção transversal em que atuam apenas momento fletor e esforço normal de tração ou compressão.

II. A flexão reta ocorre quando os momentos fletores atuam em planos ortogonais aos eixos principais de inércia da seção transversal.

III. Diz-se que a seção transversal de uma laje está submetida à flexão pura quando sobre ela atuam somente momentos fletores.

IV. A seção transversal de uma laje está submetida à flexão composta quando, sobre esta, atuam momentos de flexão e forças normais.

Assinale a alternativa correta:

A) Apenas a afirmativa I está correta.

B) Apenas a afirmativa III está correta.

C) As afirmativas I, II e IV estão corretas.

D) As afirmativas II, III e IV estão corretas.

E) As afirmativas I, II, III e IV estão corretas.
Verificar Resposta Estudar Cards Todas as Questões

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

Classificação de turbinas

O processo de conversão de energia hidráulica em energia mecânica em uma turbina pode também ser utilizado para uma classificação em turbinas de ação ou de reação.

Considerando as turbinas de reação, qual afirmativa está correta?

A) As turbinas de reação são similares às de ação e operam com pressão variável.

B) As turbinas de reação são as turbinas que têm pressão constante no sistema.

C) Nas turbinas de reação, a água tem pressão variando desde a entrada até a saída.

D) As turbinas de ação correspondem a um subgrupo das turbinas de reação mista.

E) Nas turbinas de reação, o fluido converte energia mecânica em energia hidráulica.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Qual é o resultado da execução do seguinte código JavaScript?

var resultado = Boolean(5 < 3);
document.write(resultado);

A) true

B) NaN

C) false

D) Um erro de execução
Verificar Resposta Estudar Cards Todas as Questões

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

O código de ética profissional: Concorrência

Em relação à concorrência perfeita, podemos dizer que se trata da competição pura. Essa estrutura sugere o funcionamento ideal ou equilibrado do mercado. A concorrência perfeita apresenta quatro características que a tornam o modelo econômico mais adequado. Assinale a alternativa que contém essas características.

A) Baixo número de compradores e vendedores; produtos homogêneos; informações disponíveis; mobilidade.

B) Elevado número de compradores e vendedores; produtos heterogêneos; informações disponíveis; mobilidade.

C) Elevado número de compradores e vendedores; produtos homogêneos; informações confidenciais; mobilidade.

D) Elevado número de compradores e vendedores; produtos homogêneos; informações disponíveis; mobilidade.

E) Elevado número de compradores e vendedores; produtos homogêneos; informações disponíveis; fixidez.
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

Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

E-Books em PDF

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

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

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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



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