Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Escreva um programa em Java que usa a função log10() para informar a quantidade de dígitos em um número inteiro - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 483 vezes |
Pergunta/Tarefa: Escreva um algorítmo em Java que peça para o usuário informar um número inteiro de qualquer tamanho, ou seja, qualquer quantidade de dígitos. Em seguida seu código deverá informar a quantidade de dígitos contida no número inteiro digitado pelo usuário. Seu programa deverá, obrigatoriamente, usar a função log10() da classe Math. Sua saída deverá ser parecida com: Informe um número inteiro de qualquer tamanho: 847 O número informado possui 3 dígitos Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package exercicio; import java.util.Scanner; public class Exercicio { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar um número inteiro System.out.print("Informe um número inteiro de qualquer tamanho: "); int numero = Integer.parseInt(entrada.nextLine()); // agora vamos obter a quantidade de dígitos no // número informado int tamanho = ((int) Math.log10(numero)) + 1; // mostramos o resultado System.out.println("O número informado possui " + tamanho + " dígitos"); } } |
Link para compartilhar na Internet ou com seus amigos: |
C# ::: Coleções (Collections) ::: List<T> |
Como usar a classe genérica List<T> do C# em suas aplicaçõesQuantidade de visualizações: 15195 vezes |
A classe genérica List<T> da linguagem C# representa uma lista fortemente tipada de objetos que podem ser acessados por índices. Esta classe fornece métodos para pesquisar, ordenar e manipular seus elementos. Veja sua posição na hierarquia de classes da plataforma .NET:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- System.Object System.Collections.Generic.List<T> System.ServiceModel.Install.Configuration. ServiceModelConfigurationSectionCollection System.ServiceModel.Install.Configuration. ServiceModelConfigurationSectionGroupCollection System.Workflow.ComponentModel.ActivityCollection System.Workflow.Activities.WorkflowRoleCollection System.Workflow.Activities.OperationParameterInfoCollection System.Workflow.ComponentModel.Design. ActivityDesignerGlyphCollection System.Workflow.Runtime.Tracking.ExtractCollection System.Workflow.Runtime.Tracking.TrackingAnnotationCollection System.Workflow.Runtime.Tracking.TrackingConditionCollection System.Workflow.Runtime.Tracking.ActivityTrackingLocationCollection System.Workflow.Runtime.Tracking.UserTrackingLocationCollection System.Workflow.Runtime.Tracking.ActivityTrackPointCollection System.Workflow.Runtime.Tracking.UserTrackPointCollection System.Workflow.Runtime.Tracking.WorkflowTrackPointCollection Esta classe implementa também as interfaces IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection e IEnumerable. A classe List<T> é a equivalente genérica da classe ArrayList. Ela implementa a interface genérica IList<T> usando um array (matriz) cujo tamanho é dinamicamente aumentado de acordo com a necessidade. Esta classe usa tanto um comparador de igualdade quanto um de ordenação. Os métodos tais como Contains(), IndexOf(), LastIndexOf() e Remove() usam um comparador de igualdade para os elementos da lista. O comparador de igualdade padrão para o tipo T é definido segundo as seguintes regras: Se o tipo T implementar a interface genérica IEquatable<T>, então o comparador de igualdade é o método Equals(T) dessa interface. Caso contrário, o comparador de igualdade padrão é Object.Equals(Object). Os métodos tais como BinarySearch() e Sort() usam um comparador de ordenação para os elementos da lista. O comparador padrão para o tipo T é definido da seguinte forma: Se o tipo T implementar a interface genérica IComparable<T>, então o comparador padrão é o método CompareTo(T) dessa interface. Caso contrário, se o tipo T implementar a interface não-genérica IComparable, então o comparador padrão é o método CompareTo(Object) dessa interface. Se o tipo T não implementar nenhuma destas duas interfaces, então não haverá comparador padrão, e um comparador ou delegate de comparação deve ser fornecido explicitamente. Uma lista List<T> não fornece garantias quanto à sua ordenação. Devemos ordená-la por conta própria antes de efetuar algumas operações (tais como BinarySearch) que exigem que a List<T> esteja ordenada. Os elementos em uma coleção do tipo List<T> podem ser acessados usando índices (que começam a partir de 0). Uma List<T> aceita o valor null como valor válido para tipos referência e aceita elementos duplicados. Em relação à performance, a documentação do .NET afirma que, embora List<T> e ArrayList possuam funcionalidade semelhante, a classe List<T> possui uma performance melhor na maioria dos casos, além de ser type safe (oferece segurança de tipos). Veja um trecho de código no qual criamos uma List<T> de inteiros, inserimos alguns valores e usamos o laço foreach para percorrer a lista e exibir os valores dos elementos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // vamos criar um objeto da classe List<T> List<int> valores = new List<int>(); // vamos inserir três valores na lista valores.Add(5); valores.Add(2); valores.Add(9); // vamos usar o laço foreach para percorrer os elementos // na lista foreach(int v in valores){ Console.WriteLine(v); } // vamos pausar a execução Console.ReadKey(); } |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila C# para iniciantes - Como escrever um laço for infinito em C#Quantidade de visualizações: 9847 vezes |
A linguagem C# permite a criação de laços for infinitos. Para isso, só precisamos omitir as partes de inicialização, teste de condição de parada e incremento ou decremento da variável de controle. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; namespace Estudos{ class Program{ static void Main(string[] args) { for (; ; ) { Console.Write("Digite um número inteiro " + "(-1 para sair): "); int valor = int.Parse(Console.ReadLine()); // testa se o valor lido é -1. Se for pára // o laço if (valor == -1) break; // exibe o valor lido Console.WriteLine("Valor lido: {0}", valor); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executarmos este código nós teremos o seguinte resultado: Digite um número inteiro (-1 para sair): 54 Valor lido: 54 Digite um número inteiro (-1 para sair): 23 Valor lido: 23 Digite um número inteiro (-1 para sair): 90 Valor lido: 90 Digite um número inteiro (-1 para sair): -1 Pressione uma tecla para sair... Veja como usamos a instrução break para sair do laço caso o valor lido seja -1. Observe ainda o uso do método Parse() da classe Int32 para converter a string digitada pelo usuário em um valor do tipo int. |
C# ::: Windows Forms ::: Formulários e Janelas |
Como definir a cor de fundo de um formulário C# Windows Forms usando a propriedade BackColorQuantidade de visualizações: 8910 vezes |
A cor de fundo de um formulário Windows Forms pode ser definida em tempo de design ou execução usando-se a propriedade BackColor. Em tempo de design só precisamos clicar no formulário, acionar a janela de propriedades e escolher a cor de fundo desejada. Em tempo de execução, a cor de fundo pode ser definida com um código parecido com: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ // vamos definir a cor de fundo para o formulário this.BackColor = Color.LightSalmon; } É possível obter o valor da propriedade BackColor do formulário da seguinte forma: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ // vamos obter o valor da propriedade BackColor Color corFundo = this.BackColor; // vamos mostrar o resultado MessageBox.Show("A cor de fundo é: " + corFundo.Name); } |
PHP ::: Dicas & Truques ::: Gráficos e Cores |
Gráficos em PHP - Como verificar se a extensão GD está disponível na sua instalação do PHPQuantidade de visualizações: 10047 vezes |
Gráficos em PHP são gerados a partir da biblioteca (ou extensão) GD. É claro que você pode usar outras bibliotecas, mas esta é a mais comumente usada e disponível nas hospedagens compartilhadas. Antes de começar a gerar gráficos e imagens, porém, você precisa verificar se a GD está disponível no seu interpretador. A melhor forma de verificar isso é usar a página ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- phpinfo() e procurar a seção "GD". Você deverá ter algo assim: GD Support enabled GD Version 2.0 or higher FreeType Support enabled FreeType Linkage with freetype JPG Support enabled PNG Support enabled WBMP Support enabled A partir da versão 4.3 do PHP, uma versão da GD (equivalente à GD 2.0 ou mais recente) já vem instalada por padrão. Isso dispensa a instalação da biblioteca. |
MySQL ::: Dicas & Truques ::: Tipos de Dados |
Como usar o tipo de dados TINYINT do MySQLQuantidade de visualizações: 20358 vezes |
O tipo de dados TINYINT do MySQL é usado quando precisamos armazenar valores inteiros que se encaixem na faixa de -128 a 127. Este tipo ocupa 1 byte de espaço (8 bits). Veja um trecho de código no qual criamos uma tabela MySQL chamada produtos contendo três campos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- CREATE TABLE produtos( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, categoria TINYINT UNSIGNED NOT NULL, nome` VARCHAR(45) NOT NULL, PRIMARY KEY(id) ) ENGINE = InnoDB; Aqui nós usamos o tipo TINYINT para a categoria do produto. Isso quer dizer que poderemos ter no máximo 127 categorias diferentes no sistema. Mas, note o uso do modificador UNSIGNED após o nome do tipo de dados. Este modificador faz com que o valor seja somente positivo, o que altera a faixa de valores positivos para 0 até 255. Valores negativos não serão permitidos. Veja agora uma instrução SQL INSERT que insere um novo produto na tabela recém-criada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- INSERT INTO produtos VALUES(null, 23, 'CAMISETA REGATA AX'); Se o valor fornecido para a categoria estiver fora da faixa permitida para um TINYINT você verá a seguinte mensagem de erro: Out of range value adjusted for column 'categoria' at row 1 (Erro: 1264) Vamos verificar o comportamento deste tipo de dados em uma função MySQL? Veja o código que cria uma função somar(): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- DELIMITER $$ DROP FUNCTION IF EXISTS somar $$ CREATE FUNCTION somar(a TINYINT, b TINYINT) RETURNS TINYINT BEGIN RETURN a + b; END $$ DELIMITER ; Veja que os parâmetros e o retorno da função são do tipo TINYINT. Eis uma demonstração de como chamá-la: SELECT somar(4, 3) AS soma; Experimente fornecer valores que, quando somados, excedam a capacidade de um TINYINT e observe o comportamento da função. Para finalizar, note que é comum informarmos o tipo TINYINT com um valor inteiro em parênteses, por exemplo, TINYINT(2). Este número nos parênteses não interfere em nada nos valores a serem armazenados. Ele é usado para controlar a largura do campo na exibição do valor nos resultados de uma query SELECT ou como um lembrete da quantidade de dígitos a serem usados no campo. |
Veja mais Dicas e truques de MySQL |
Dicas e truques de outras linguagens |
C# - Como abrir outros formulários de sua aplicação C# Windows Forms a partir do formulário principal |
Códigos Fonte |
Software 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 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 |