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 JavaQuantidade 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 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); } } |
![]() |
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çãoQuantidade 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 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 StringQuantidade 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 regularesQuantidade 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 intQuantidade 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 vezQuantidade 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 JavaQuantidade 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 JTextAreaQuantidade 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 FileQuantidade 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 |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |