Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Crie uma classe Java NumeroDecrescente que contenha um método que receba um número inteiro e imprima, em ordem decrescente, o valor do número até 0 - Desafio de Programação Resolvido em Java

Quantidade de visualizações: 1945 vezes
Exercício Resolvido de Java - Crie uma classe Java NumeroDecrescente que contenha um método que receba um número inteiro e imprima, em ordem decrescente, o valor do número até 0

Pergunta/Tarefa:

Crie uma classe Java NumeroDecrescente que contenha um método que receba um número inteiro e imprima, em ordem decrescente, o valor do número até 0.

Resposta/Solução:

Mais um exercício sobre Programação Orientada a Objetos em Java. Este pertence a uma lista de exercícios básicos, mas muito recomendada para aqueles que estão dando os primeiros passos na POO em Java.

Não há muitas exigências não, ou seja, nada de herança, polimorfismo, encapsulamento, etc, somente uma classe Java simples com um método.

Então, veja o código completo e comentado para a classe NumeroDecrescente, juntamente com o seu método ordemDecrescente():

Código para a classe NumeroDecrescente.java:

package arquivodecodigos;

public class NumeroDecrescente {
  // método que recebe um número inteiro e imprima
  // em ordem decrescente, o valor do número até 0
  public void ordemDecrescente(int numero){
    if(numero < 1){
......


E aqui está a classe principal que nos permite testar a classe NumeroDecrescente:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    // vamos efetuar a leitura usando um objeto da
    // classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // vamos solicitar um número
    System.out.print("Informe o número: ");
......


Ao executar o exercício nós teremos o seguinte resultado:

Informe o número: 4
4
3
2
1
0

Link para compartilhar na Internet ou com seus amigos:

VB.NET ::: Dicas & Truques ::: Strings e Caracteres

Como declarar e inicializar uma string em VB.NET usando o operador New

Quantidade de visualizações: 8213 vezes
Nesta dica mostrarei como podemos usar o operador New para criar e inicializar um novo objeto da classe String em VB.NET.

Veja o código completo para o exemplo:

Imports System

Module Program
  Sub Main(args As String())
    ' declara uma variável do tipo String
    Dim frase As String

    ' inicializa a string usando New
    frase = New String("Você já conhece o site Arquivo de Códigos?")
......


Ao executar este código VB.NET nós teremos o seguinte resultado:

A frase é: Você já conhece o site Arquivo de Códigos?


Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet

Como obter o número do registro atual em um TClientDataSet do Delphi usando a propriedade RecNo

Quantidade de visualizações: 12582 vezes
Em algumas situações gostaríamos de obter o número do registro atual enquanto navegamos pelos registros de um TClientDataSet. Isso pode ser feito por meio da propriedade RecNo (implementada na classe TDataSet e reimplementada na classe TClientDataSet). O retorno da propriedade é sempre um valor inteiro representando o registro atual. Na implementação da classe TClientDataSet, esta propriedade retorna o valor -1 se o componente estiver no estado (State) dsInsert (um novo registro estiver sendo inserido).

Veja um trecho de código no qual usamos o evento OnClick de um botão para exibir o número do registro atual em um TClientDataSet:

procedure TForm3.Button3Click(Sender: TObject);
var
  nRegistro: Integer;
begin
  // obtém o número do registro atual no TClientDataSet
......


Ao executar o código e clicar no botão você verá uma mensagem parecida com:

"O número do registro atual é: 5".

Esta dica foi escrita e testada no Delphi 2009.


Delphi ::: VCL - Visual Component Library ::: TListBox

Como usar a propriedade Items da classe TListBox do Delphi

Quantidade de visualizações: 11147 vezes
A propriedade Items da classe TListBox representa um objeto da classe TStrings, a classe base para objetos que representam uma lista de strings. Isso quer dizer que podemos acessar a propriedade Items e usar todos os métodos e propriedades da classe TStrings, tais como Add(), Clear(), Delete(), Exchange(), etc.

Veja, por exemplo, como usar o método Add() para adicionar um novo item na ListBox:

procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos adicionar um novo item na ListBox
......


É possível obter um referência à propriedade Items para manipular os itens da ListBox indiretamente. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  lista: TStrings;
begin
  // vamos obter a lista de itens da ListBox
......


Esta técnica é útil quando queremos inserir itens em uma TListBox a partir de uma função ou procedure. Veja:

// procedure personalizada para inserir itens em uma TListBox
procedure inserirItensListBox(lista: TStrings);
begin
  lista.Add('Arquivo de Códigos');
  lista.Add('Osmar J. Silva');
......


Para finalizar, veja como escrever uma função personalizada que constrói e retorna uma lista de strings. Note como usamos o objeto TStrings retornado para preencher a ListBox:

// função personalizada que constrói e retorna uma lista
// de strings
function obterLista: TStrings;
var
  lista: TStringList;
begin
  lista := TStringList.Create;
  lista.Add('Arquivo de Códigos');
......


Observe que, embora o retorno seja TStrings, no corpo da função nós construímos um objeto da classe TStringList. Isso acontece porque TStrings é uma classe abstrata e, portanto, não podemos chamar seu construtor. Como TStringList herda de TStrings e é uma classe concreta, esta é a escolha mais óbvia.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


C ::: Dicas & Truques ::: Data e Hora

Como formatar datas e horas em C usando a função strftime() da linguagem C

Quantidade de visualizações: 7948 vezes
A função strftime() pode ser usada quando queremos formatar valores de datas e horas em C. Esta função, presente no header <time.h>, possui a seguinte assinatura:

size_t strftime(char *strDest, size_t maxsize, const char *format,
......


O parâmetro strDest é um ponteiro para uma matriz de caracteres que receberá uma string contendo a data e/ou hora formatada. O parâmetro maxsize é a quantidade de caracteres que serão copiados para a matriz de caracteres alvo da operação. O parâmetro format contém os especificadores que serão substituídos durante a formatação. Finalmente, timeptr é um ponteiro para uma estrutura tm contendo as informações de data e hora. O retorno da função é a quantidade de caracteres copiados para a matriz strDest.

Veja um trecho de código no qual formatamos e exibimos a data atual no formato longo e de acordo com as configurações regionais para o Português Brasileiro:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>

int main(int argc, char *argv[]){
  // vamos definir a localização para o Português do Brasil
  setlocale(LC_ALL, "Portuguese_Brazil");

  time_t data_hora_segundos; // guarda os segundos deste 01/01/1970
  struct tm *timeinfo; // declara uma estrutura tm
  time(&data_hora_segundos); // preenche a variável data_hora_segundos
......


O resultado da execução deste código será algo como:

Resultado da formatação: segunda-feira, 23 de abril de 2011

Veja abaixo os especificadores de formatação usadas pela função strftime():

%a - Nome do dia da semana na forma abreviada. Ex: seg.
%A - Nome completo do dia da semana. Ex: terça-feira.
%b - Nome do mês abreviado. Ex: abr.
%B - Nome completo do dia do mês. Ex: abril
%c - Representação de data e hora. Ex: 23/4/2011 23:00:37.
%d - Dia do mês (01-31).
%H - Hora no formato 24 horas (00-23).
%I - Hora no formato 12 horas (01-12).
%j - Dia do ano (001-366).
%m - Mês como um número decimal (01-12).
%M - Minutos (00-59).
%p - AM ou PM.
%S - Segundos (00-61).
%U - Número da semana tendo o primeiro domingo como o primeiro dia da primeira semana do ano (00-53).
%w - Dia da semana como um número decimal tendo o domingo como 0 (0-6).
%W - Número da semana tendo a primeira segunda-feira como o primeiro dia da primeira semana do ano (00-53).
%x - Representação de data. Ex: 23/4/2011.
%X - Representação de horas. Ex: 23:00:37.
%y - Ano de dois dígitos (00-99).
%Y - Ano com quatro dígitos.
%Z - Nome ou abreviação do fuso horário.
%% - Um sinal de porcentagem.


Rust ::: Fundamentos da Linguagem ::: Compilador rustc

Como escrever um "Hello, World!" na linguagem Rust usando a ferramenta rustc

Quantidade de visualizações: 360 vezes
Então você já fez a instalação do Rust, testou o seu funcionamento disparando "rustc --version" em uma janela de terminal e agora quer começar a aprender mais sobre a linguagem? Que tal começar escrevendo o famoso "Hello, World!" ("Olá, Mundo!")?

Nesta dica mostrarei como essa tarefa é fácil, principalmente se optarmos pelo uso da ferramenta rustc. Lembre-se, no entanto, que rustc é usado diretamente quando estamos escrevendo aplicações simples, provas de conceito, protótipos e coisas assim. Para aplicações mais complexas, é sempre recomendado o uso do Cargo, que é um sistema de build e gerenciador de pacotes do Rust.

Então vamos começar. Abra o seu editor de códigos favorito (tal como o Notepad++) e digite a seguinte listagem:

fn main() {
  println!("Hello, world! Aqui é Rust na veia.");
......


Salve este arquivo como "estudos.rs" no diretório de sua preferência. Aqui eu optei por salvá-lo em um diretório chamado "C:\estudos_rust".

Agora vamos compilar nosso programa Rust. Abra uma janela de terminal e navegue até o diretório que você salvou o arquivo "estudos.rs" e dispare o comando abaixo:

C:\Users\Osmar>cd c:\estudos_rust
......


Se tudo correr bem, você verá a criação de um arquivo "estudos.exe". Para executá-lo pela linha de comando nós só precisamos disparar:

c:\estudos_rust>estudos
Hello, world! Aqui é Rust na veia.
......


Simples, né? No entanto, se dermos duplo-clique em cima do executável gerado, ele abre e fecha automaticamente. Não seria bom exibir uma mensagem do tipo "Pressione uma tecla para fechar..."? Basta modificar seu código para a versão abaixo:

// importamos a biblioteca io
use std::io;
use std::io::Write;

fn main() {
  println!("Hello, world! Aqui é Rust na veia.");
  
  // procedimento para pausar o programa
  let mut resposta = String::new();
......


Sim, eu sei que agora nós adicionamos código demais para alcançar um detalhe tão simples. Mas, à medida que a linguagem Rust evolui, talvez os desenvolvedores resolvam simplificar esta parte. Compile o programa novamente e experimente abrir o executável com duplo-clique. Você verá que agora o programa fica aguardando o pressionamento da tecla Enter para fechar.


Veja mais Dicas e truques de Rust

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

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á 21 usuários muito felizes estudando em nosso site.