Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escrever um algoritmo que lê o público total de um jogo de futebol e fornece a renda do jogoQuantidade de visualizações: 7395 vezes |
Pergunta/Tarefa: Em um determinado jogo de futebol havia 4 tipos de ingressos, assim distribuídos: popular 10% a R$ 1,00; geral 50% a R$ 5,00; arquibancada 30% a R$ 10,00 e cadeiras 10% a R$ 20,00. Escreva um programa (algoritmo) Java que leia o público total do jogo e forneça a renda obtida. Um outro enunciado muito comum deste exercício é: Escrever um algoritmo que lê o público total de futebol e fornecer a renda do jogo, sabendo-se que havia 4 tipos de ingressos assim distribuídos: popular 10% a R$ 1,00, geral 50% a R$ 5,00, arquibancada 30% a R$10,00 e cadeiras 10% a R$ 20,00. Sua saída deverá ser parecida com: Informe o público total do jogo de futebol: 10000 Renda geral do jogo: R$ 76.000,00 Veja a resolução comentada deste exercício usando Java: package estudos; import java.text.NumberFormat; 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 obter o público total do jogo de futebol System.out.print("Informe o público total do jogo de futebol: "); int publico = Integer.parseInt(entrada.nextLine()); // renda do ingresso popular double popular = (publico * (10.0 / 100)) * 1.00; // renda do ingresso geral double geral = (publico * (50.0 / 100)) * 5.00; // renda do ingresso arquibancada double arquibancada = (publico * (30.0 / 100)) * 10.00; // renda do ingresso cadeiras double cadeiras = (publico * (10.0 / 100)) * 20.00; // obtemos a renda total double renda_total = popular + geral + arquibancada + cadeiras; // e exibimos o resultado NumberFormat formato = NumberFormat.getCurrencyInstance(); System.out.println("Renda geral do jogo: " + formato.format(renda_total)); } } |
jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML |
Como alternar a classe de um elemento HTML usando a função toggleClass() do jQueryQuantidade de visualizações: 9000 vezes |
O método toggleClass() do jQuery é um dos mais interessantes no framework. Este método permite aplicar um nome de classe a um elemento HTML se ele ainda não estiver definido e removê-lo se este já estiver definido para o elemento. Veja um trecho de código que altera a cor de fundo de um parágrafo a cada vez que ele é clicado. Comece analisando o trecho de estilos CSS: <style type="text/css"> body, td {font: 70% Verdana} .destaque {background-color: yellow} .destaque2 {background-color: red} </style> Veja agora o elemento P que usaremos para ilustrar o efeito: <p id="parag" class="destaque">Sou um parágrafo</p> E finalmente o código JavaScript (na parte <head></head> da página): <script type="text/javascript"> <!-- $(document).ready(function(){ $("#parag").click(function(){ $(this).toggleClass("destaque2"); }); }); //--> </script> E aqui a página HTML completa para o exemplo: <!doctype html> <html> <head> <title>Estudos jQuery</title> <style type="text/css"> body, td {font: 70% Verdana} .destaque {background-color: yellow} .destaque2 {background-color: red} </style> <script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script> </head> <body> <p id="parag" class="destaque">Sou um parágrafo</p> <script type="text/javascript"> $(document).ready(function(){ $("#parag").click(function(){ $(this).toggleClass("destaque2"); }); }); </script> </body> </html> O método toggleClass() retorna um objeto jQuery para fins de encadeamento de chamadas de métodos. |
PHP ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia da semana em PHP na forma abreviada e em português usando a função gmstrftime() e o sinalizador "%a"Quantidade de visualizações: 222 vezes |
Como retornar o dia da semana em PHP na forma abreviada e em português usando a função gmstrftime() e o sinalizador "%a" Nesta dica mostrarei um código que retorna o nome do dia da semana de forma abreviada e em português usando a função gmstrftime() combinada com o sinalizador "%a". O resultado será agora como "seg", "ter", "qua", etc. Veja o código PHP completo para o exemplo: <?php // obtemos o locale padrão $locale_anterior = setlocale(LC_ALL, NULL); // ajustamos o locale para português brasileiro setlocale(LC_ALL, "pt_BR"); // obtemos o dia da semana $dia_semana = gmstrftime("%a", time()); // voltamos o locale anterior setlocale(LC_ALL, $locale_anterior); // e mostramos o resultado echo "O dia da semana é: " . $dia_semana; ?> Ao executar este código PHP nós teremos o seguinte resultado: O dia da semana é: dom |
Java ::: Design Patterns (Padrões de Projeto) ::: Singleton Pattern |
Padrões de projeto para iniciantes - Como usar o padrão de projeto Singleton em suas aplicações JavaQuantidade de visualizações: 12027 vezes |
O padrão de projeto Singleton (ou Singleton Pattern) é um dos padrões de projeto mais conhecidos e implementado extensivamente nas linguagens que suportam programação orientada a objetos, tais como Java e C#. Nesta dica eu mostrarei como implementá-lo. Uma das situações nas quais usamos o padrão Singleton é quando queremos que somente uma instância de uma determinada classe seja criada e que esta esteja disponível para todas as demais classes do sistema. Um exemplo disso é uma classe responsável por registrar logs do sistema, uma classe responsável por obter conexões com o banco de dados, ou ainda uma classe que concentra dados de configuração da aplicação. Assim, a chave do padrão Singleton é um método estático, geralmente chamado de getInstance(), que retorna uma nova instância da classe se esta ainda não foi instanciada. Se a classe já tiver sido instanciada, o método getInstance() retorna a instância já existente. Vamos ver um exemplo deste padrão em Java. Observe o código a seguir: Código para Logger.java: package estudos; // Uma classe Singleton responsável por gravar // logs no sistema public class Logger { // variável estática e privada que guarda a instância // atual da classe private static Logger instancia = null; // Método estático que retorna uma instância já existente, ou // cria uma nova instância public static Logger getInstance() { if (instancia == null) { instancia = new Logger(); } return instancia; } // Construtor privado para evitar que instâncias sejam // criadas usando new private Logger() { // não precisamos fazer nada aqui } // método usado para registrar logs public void registrarLog(String dados) { System.out.println("Vou registrar o log: " + dados); } } Veja agora como podemos chamar o método getInstance(), obter um objeto da classe Logger e "registrar um log": Código para Main.java: package estudos; public class Main { public static void main(String[] args) { // vamos registrar um novo log usando a classe Singleton Logger.getInstance().registrarLog("Novo usuário cadastrado."); } } Ao executar esta aplicação teremos a seguinte saída: Vou registrar o log: Novo usuário cadastrado. |
VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço Do...While...Loop do VB.NETQuantidade de visualizações: 17691 vezes |
Um instrução de repetição (também chamada de laço ou loop) permite que um bloco de códigos seja executado repetidamente até que uma condição seja satisfeita. O laço Do...While...Loop é usado quando queremos testar uma condição e, executar um bloco de código repetidamente enquanto esta condição for verdadeira. Lembre-se de que, se a condição já for falsa, o laço nunca será executado. Veja um exemplo de laço Do...While...Loop que nos permite exibir os números de 0 a 10: Dim numero As Integer = 0 Do While numero <= 10 Console.WriteLine(numero) numero += 1 Loop Veja uma nova versão deste código, desta vez contando de 10 a 0: Dim numero As Integer = 10 Do While numero >= 0 Console.WriteLine(numero) numero -= 1 Loop Aqui nós estamos novamente avaliando uma condição, ou seja, se o resultado da condição for True, a execução do laço continua. Se for False, o laço pára. Veja um exemplo no qual a condição booleana está bem explícita: Dim pode As Boolean = True Dim valor As Integer = 1 Do While pode Console.WriteLine(valor) valor += 1 If valor > 20 Then pode = False End If Loop |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Python - Como retornar o primeiro elemento de um vetor em PythonQuantidade de visualizações: 429 vezes |
Pergunta/Tarefa: Escreva um programa Python que mostra como acessar e retornar o primeiro elemento de um vetor (array) em Python. Sua saída deverá ser parecida com: Os elementos do vetor são: [9, 5, 3, 2, 4, 8] O primeiro elemento do array é: 9 Veja a resolução comentada deste exercício usando Python: # função principal do programa def main(): # vamos criar um array de inteiros valores = [9, 5, 3, 2, 4, 8] print("Os elementos do vetor são: {0}".format(valores)) # agora vamos retornar o primeiro elemento do vetor primeiro = valores[0] # e mostramos o resultado print("O primeiro elemento do array é: {0}".format(primeiro)) if __name__== "__main__": main() |
Java ::: Dicas & Truques ::: Mouse e Teclado |
Como verificar se Num Lock está ativado no seu teclado usando o método getLockingKeyState() da classe Toolkit da linguagem JavaQuantidade de visualizações: 8498 vezes |
Nesta dica mostrarei como é possível verificar se Num Lock está ativado no seu teclado. Para isso nós podemos usar o método getLockingKeyState() da classe Toolkit, do pacote java.awt. Veja o exemplo completo: package arquivodecodigos; import java.awt.Toolkit; import java.awt.event.*; public class Estudos{ public static void main(String[] args){ Toolkit tk = Toolkit.getDefaultToolkit(); if(tk.getLockingKeyState(KeyEvent.VK_NUM_LOCK)){ System.out.println("Num Lock está ativado"); } else{ System.out.println("Num Lock não está ativado"); } System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: Num Lock não está ativado |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como somar dias a uma data em JavaScript usando uma função personalizada adicionar_dias() que retorna um objeto DateQuantidade de visualizações: 13611 vezes |
Nesta dica mostrarei como podemos escrever uma função JavaScript que permite adicionar dias a uma data recebida como argumento e retorna um novo objeto Date. Como pequenas modificações esta função pode ser usada também para subtrair dias da data. Veja a página HTML completa para o exemplo: <!doctype html> <html> <head> <title>Data e hora em JavaScript</title> </head> <body> <script type="text/javascript"> // função que recebe um objeto Date e uma quantidade // de dias e soma esses dias ao Date recebido e // e retorna um novo objeto Date function adicionar_dias(data, dias){ return new Date(data.getTime() + (dias * 24 * 60 * 60 * 1000)); } // testa a função var hoje = new Date(); document.write("Hoje é " + hoje.toLocaleDateString() + "<br>"); // vamos adicionar 5 dias ao objeto Date var data_futura = adicionar_dias(hoje, 5); document.write("Daqui 5 dias será: " + data_futura.toLocaleDateString()); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Hoje é 06/02/2023 Daqui 5 dias será: 11/02/2023 |
Java ::: Coleções (Collections) ::: Set (Conjunto) |
Como usar objetos da interface Set do Java para representar a interseção (ou intersecção) de dois ou mais conjuntosQuantidade de visualizações: 4692 vezes |
Na teoria dos conjuntos, a interseção (português brasileiro) ou intersecção (português europeu) de dois ou mais conjuntos é o conjunto dos elementos que, simultaneamente, pertencem a dois ou mais destes conjuntos. Assim, seja A = {2, 5, 8, 19, 30} e B = {2, 3, 1, 30}. A interseção desses dois conjuntos é C = {2, 30}. Na programação Java podemos representar a interseção de dois conjuntos usando objetos da interface Set e qualquer uma de suas implementações. Para este exemplo vou usar a classe TreeSet, que permite a ordenação dos elementos. Veja o código: package estudos; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; public class Estudos{ public static void main(String[] args) { // primeiro conjunto Set<Integer> conjuntoA = new TreeSet<>(); conjuntoA.add(2); conjuntoA.add(5); conjuntoA.add(8); conjuntoA.add(19); conjuntoA.add(30); // segundo conjunto Set<Integer> conjuntoB = new TreeSet<>(); conjuntoB.add(2); conjuntoB.add(3); conjuntoB.add(1); conjuntoB.add(30); // vamos obter a interseção dos dois conjuntos Set<Integer> conjuntoC = intersecao(conjuntoA, conjuntoB); // vamos exibir os elementos no conjunto C Iterator iterator = conjuntoC.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } } // método genérico que permite obter a interseção de dois conjuntos public static <T> Set<T> intersecao(Set<T> conjA, Set<T> conjB){ Set<T> conjC = new TreeSet<>(); // percorremos todos os elementos do conjunto A for(T elemento: conjA){ // e verificamos se o elemento está contido no conjunto B if(conjB.contains(elemento)){ conjC.add(elemento); // se estiver contido nós o adicionamos no conjunto C } } return conjC; // e retornamos o conjunto C } } Ao executarmos este código teremos o seguinte resultado: 2 30 |
Python ::: wxPython ::: Janelas, Diálogos, Formulários e Painéis do wxPython |
Como definir o ícone para uma janela wx.Frame do wxPythonQuantidade de visualizações: 7355 vezes |
Nesta dica mostrarei como usar a função SetIcon() da classe wx.TopLevelWindow para definir o ícone da janela de nossa aplicação wxPython. Observe que, se o ícone não for encontrado, uma mensagem de erro será exibida. Veja o código completo para o exemplo: # vamos importar a biblioteca Wx import wx # vamos criar uma classe que herda de wxFrame class MinhaJanela(wx.Frame): def __init__(self): # chamamos o construtor da super classe wx.Frame.__init__(self, None, -1, "Cadastro de Clientes", size=(350, 200)) # Define o ícone para a janela self.SetIcon(wx.Icon("icone.ico", wx.BITMAP_TYPE_ICO)) if __name__ == "__main__": app = wx.App() janela = MinhaJanela() janela.Show(True) app.MainLoop() |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - Como obter o código da tecla pressionada em um elemento HTML usando o evento onkeypress do JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Estruturas de Dados em Java - Como inserir nós no início de uma lista singularmente ligada em Java JavaScript - Como usar objetos Set em seus códigos JavaScript |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |