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 Java

Quantidade 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
Resposta/Solução:

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ções

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

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

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

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



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