E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercício Resolvido de Java - Um programa Java que calcula qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decomposto

Quantidade de visualizações: 15925 vezes
Pergunta/Tarefa:

Escreva um programa Java que lê um valor inteiro e simule o comportamento de um caixa eletrônico, ou seja, calcule qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decomposto. Seu programa deverá exibir uma saída parecida com:

Informe o valor do saque (valor inteiro): 139
O valor do saque pode ser expresso em:
1 notas de 100
0 notas de 50
3 notas de 10
1 notas de 5
4 notas de 1


Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner):

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe Scanner
  // import java.util.Scanner;

  // vamos criar um objeto da classe Scanner
  Scanner entrada = new Scanner(System.in);

  // variáveis que vão guardar a quantidade de notas de 100, 50, 10, 5 e 1;
  int cem = 0, cinquenta = 0, dez = 0, cinco = 0, um = 0;
  int valor; // guarda o valor lido
  int temp; // variável auxiliar

  // vamos solicitar o valor a ser sacado
  System.out.print("Informe o valor do saque (valor inteiro): ");

  // vamos ler o valor do saque
  valor = Integer.parseInt(entrada.nextLine());

  // inicializa a variável temporária
  temp = valor;

  // quantas notas de 100?
  if(temp >= 100){
    cem = valor / 100;
    temp = valor % 100;
  }
  // quantas notas de 50?
  if(temp >= 50){
    cinquenta = temp / 50;
    temp = temp % 50;
  }
  // quantas notas de 10?
  if(temp >= 10){
    dez = temp / 10;
    temp = temp % 10;
  }
  // quantas notas de 5?
  if(temp >= 5){
    cinco = temp / 5;
    temp = temp % 5;
  }
  // quantas notas de 1?
  if(temp >= 1){
    um = temp / 1;
  }

  // vamos exibir o resultado
  System.out.println("O valor do saque pode ser expresso em:");
  System.out.printf("%d notas de 100\n", cem);
  System.out.printf("%d notas de 50\n", cinquenta);
  System.out.printf("%d notas de 10\n", dez);
  System.out.printf("%d notas de 5\n", cinco);
  System.out.printf("%d notas de 1\n", um);
}



PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli)

Como estabelecer uma conexão PHP + MySQL (Improved Extension (mysqli)) no modo Programação Orientada a Objetos - Atualizado

Quantidade de visualizações: 10236 vezes
Nesta dica eu mostro como fazer uma conexão PHP + MySQL usando a extensão mysqli no modo POO (Programação Orientada a Objetos). Este modelo difere do modelo procedimental porque, em orientação a objetos, nós criamos um novo objeto da classe mysqli, em vez de simplesmente chamar a função mysqli_connect().

Veja o código completo:

<?
  // constrói um novo objeto mysqli chamado conexao
  $conexao = new mysqli("localhost", "root",
    "osmar1234", "estudos");
 
  // testa se a conexão foi efetuada com sucesso
  if(mysqli_connect_errno()){
    die("Houve um erro de conexão: " . mysqli_connect_error());
  } 
  else{
    print "Conexão com " . $conexao->host_info 
      . " efetuada com sucesso.";
  } 

  // fecha a conexão com o banco de dados
  $conexao->close(); // fecha a conexão
?>

Se os parâmetros de conexão estiverem corretos, o seguinte resultado será exibido:

Conexão com localhost via TCP/IP efetuada com sucesso.

Esta dica foi revisada e atualizada para o PHP 8.


Portugol ::: Dicas & Truques ::: Cadeias e Caracteres

Como acessar os caracteres individuais de uma palavra ou frase em Portugol usando a função obter_caracter() da biblioteca Texto

Quantidade de visualizações: 574 vezes
Em algumas situações nós precisamos acessar os caracteres individuais de uma palavra ou frase no Portugol Studio ou Portugol Web Studio. Para isso nós podemos usar a função obter_caracter() da biblioteca Texto.

Esta função pede, como primeiro argumento, a palavra ou frase a partir da qual o caractere será extraído e, como segundo argumento, o índice do caractere (sempre começando em 0 para o primeiro caractere).

Veja um programa Portugol completo no qual obtemos o primeiro caractere de uma palavra:

programa {
  // vamos importar a biblioteca Texto
  inclua biblioteca Texto --> tx
  
  funcao inicio() {
    cadeia palavra = "PORTUGOL"
    caracter letra = tx.obter_caracter(palavra, 0)
    escreva("A letra retornada é: ", letra)
  }
}

Ao executar este código Portugol nós teremos o seguinte resultado:

A letra retornada é: P

Veja agora como podemos usar o laço PARA para percorrer e exibir todos os caracteres individuais da palavra ou frase:

programa {
  // vamos importar a biblioteca Texto
  inclua biblioteca Texto --> tx
  
  funcao inicio() {
    cadeia palavra = "PORTUGOL"

    para (inteiro i = 0; i <= tx.numero_caracteres(palavra) - 1; i++) {
      caracter letra = tx.obter_caracter(palavra, i)
      escreva("A letra é: ", letra, "\n")
    }
  }
}

Ao executar o código novamente nós teremos o seguinte resultado:

A letra é: P
A letra é: O
A letra é: R
A letra é: T
A letra é: U
A letra é: G
A letra é: O
A letra é: L


Java ::: Dicas & Truques ::: Data e Hora

Como converter um objeto Calendar em um objeto Date em Java

Quantidade de visualizações: 11253 vezes
Muitas vezes precisamos converter um objeto Calendar em um objeto Date em Java. Isso pode ser feito usando-se o método getTime() da classe Calendar.

Este método retorna um objeto da classe Date representando o estado atual do objeto Calendar em milisegundos desde o Epoch. Veja um exemplo dessa conversão e o uso da classe SimpleDateFormat para formatar o resultado:

package estudos;

import java.util.*;
import java.text.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Calendar cal = Calendar.getInstance();
    Date data = cal.getTime();
    
    // formata e exibe a data e hora
    Format formato = new SimpleDateFormat(
      "dd/MM/yyyy - HH:mm:ss");
    System.out.println(formato.format(data));
  } 
}

Ao executar este código Java nós teremos o seguinte resultado:

09/09/2022 - 14:39:53


Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: DataFrame

Como acessar uma linha específica em um DataFrame do Pandas da linguagem Python usando o método iloc()

Quantidade de visualizações: 11243 vezes
Em várias situações nós precisamos investigar o conteúdo de uma determinada linha, ou seja, um registro específico contido em um DataFrame do Pandas. Para isso podemos usar o método iloc() do objeto DataFrame.

Este método recebe um valor inteiro representando o índice da linha a ser retornada. É possível também fornecer uma list contendo vários índices, e até mesmo intervalos, mas isso é assunto para outras dicas. O retorno do método é uma Series ou um DataFrame, dependendo dos parâmetros usados.

Vamos ver um exemplo? Analise o código a seguir:

# importamos a biblioteca Pandas
import pandas as pd
 
def main():
  # vamos carregar os dados do arquivo .csv
  dados = pd.read_csv("emprestimos.csv",
   delimiter=";")
 
  # vamos mostrar o DataFrame resultante
  print(dados)

  # agora vamos mostrar o conteúdo da terceira linha
  linha = dados.iloc[2]
 
  # mostramos o conteúdo da terceira linha
  print("\nConteúdo da terceira linha:\n")
  print(linha)

if __name__== "__main__":
  main()

Ao executarmos este código nós teremos o seguinte resultado:

    id         nome  idade sexo  renda  valor  parc  pont ap
0    1    HELENA508     39    F   6500   8000     6    87  S
1    2   JESSICA631     65    F   3000    500    48     2  N
2    3    FELIPE768     39    M  10200  20000    24    40  S
3    4    AMANDA515     90    F    800   1500    30    87  N
4    5     LAURA312     61    F   1800  15000    50     8  N
5    6    CARLOS291     84    M    970  11000     6    59  N
6    7    CARLOS859     64    F    970    500    12     1  N

Conteúdo da terceira linha:

id               3
nome     FELIPE768
idade           39
sexo             M
renda        10200
valor        20000
parc            24
pont            40
ap               S
Name: 2, dtype: object


Veja que o conteúdo da linha é exibido na vertical. Se quisermos exibí-lo na horizontal, basta passarmos o índice da linha como uma list. Veja:

# agora vamos mostrar o conteúdo da terceira linha
linha = dados.iloc[[2]]

Agora o resultado será:

Conteúdo da terceira linha:

   id       nome  idade sexo  renda  valor  parc  pont ap
2   3  FELIPE768     39    M  10200  20000    24    40  S


Para testarmos se o retorno do método iloc() foi mesmo uma Series, basta usarmos a função type() do Python:

# vamos checar o retorno do método iloc()
linha = dados.iloc[[2]]
print("Tipo do retorno:", type(linha))

Este código exibirá um resultado parecido com:

Tipo do retorno: <class 'pandas.core.frame.DataFrame'>


PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados)

Como excluir uma base de dados no PostgreSQL usando o comando DDL DROP DATABASE

Quantidade de visualizações: 14121 vezes
Em algumas situações precisamos excluir uma base de dados no PostgreSQL. Isso pode ser feito por meio do uso do comando DLL DROP DATABASE. Este comando pode ser disparado via linha de comando SQL Shell (psql), na janela de Query do pgAdmin ou a partir de uma linguagem de programação. No entanto, é importante saber que você não conseguirá excluir uma base de dados que você ou outros usuários estejam conectados no momento.

Use o comando DROP DATABASE com cuidado. Ao dispará-lo, os dados contidos na base de dados (tabelas, views, funções, triggers, etc) serão perdidos para sempre. Veja como podemos usar o comando DROP DATABASE para excluir uma base de dados chamada "estudos":

DROP DATABASE estudos;

Se você visualizar uma mensagem parecida com:

Query returned successfully with no result in 261 ms.

Então poderá estar certo de que a base de dados foi removida com sucesso. Se tentarmos excluir uma base de dados na qual alguém ainda está conectado, o PostgreSQL abortará a operação e nos exibirá a seguinte mensagem de erro:

ERRO:  banco de dados "estudos" está sendo acessado por outros usuários
DETAIL:  Há 1 outra sessão utilizando o banco de dados.

********** Error **********

ERRO: banco de dados "estudos" está sendo acessado por outros usuários
SQL state: 55006
Detail: Há 1 outra sessão utilizando o banco de dados.
Da mesma forma, seremos alertados se tentarmos excluir uma base de dados que não existe:

ERRO:  banco de dados "estudos" não existe

********** Error **********

ERRO: banco de dados "estudos" não existe
SQL state: 3D000
O comando DROP DATABASE pode vir acompanhado da cláusula IF EXISTS, que tentará a exclusão somente quando a base de dados existir. Veja:

DROP DATABASE IF EXISTS estudos;

Agora o PostgreSQL trocará a mensagem de erro por uma mensagem de advertência:

NOTA:  banco de dados "estudos" não existe, ignorando

Query returned successfully with no result in 14 ms.



Java ::: Dicas & Truques ::: Strings e Caracteres

Como comparar duas strings em Java usando o método equals() da classe String

Quantidade de visualizações: 279 vezes
Nesta dica mostrarei como usar o método equals() da classe String da linguagem Java para comparar duas palavras, frases ou texto. Este método retorna um valor true se as duas string forem iguais e false em caso contrário.

Veja o código para o exemplo:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    String s1 = "Gosto de Java";
    String s2 = "Gosto de Java";
     
    if(s1.equals(s2)){
      System.out.println("As duas strings sao iguais");
    }
    else{
      System.out.println("As duas strings não sao iguais");  
    }
    
    System.exit(0);
  }
}


Ao executarmos este código nós teremos o seguinte resultado:

As duas strings sao iguais


C ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de Dados em C - Como remover um nó no final de uma lista ligada simples em C - Listas encadeadas em C

Quantidade de visualizações: 2053 vezes
Nesta dica mostraremos como é possível excluir o nó no fim (o último nó) de uma lista encadeada simples (singly linked list) em C. Veja a função:

// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
  struct No *n; // nó que será removido
  
  // nó que antecede o nó a ser removido. Isso
  // faz sentido, já que ele será o último nó
  // agora
  struct No *anterior;
  n = inicio; // aponta para o início da lista
  
  // varremos os nós da lista e paramos um nó antes do
  // nó a ser excluído
  while(n->proximo != NULL){
    anterior = n; // anterior assume o lugar de n
    n = n->proximo; // e n assume o seu próximo  
  }
  
  // anterior passa a ser o último nó agora
  anterior->proximo = NULL;
  
  // mostra o nó removido
  printf("\nNo removido: %d\n", n->valor);
  
  free(n); // libera o nó que antes era o último
  
  return inicio;
} 

Note que a função recebe um ponteiro para o início da lista e retorna também um ponteiro para o início da lista. Tenha o cuidado de verificar se a lista não está vazia antes de tentar fazer a exclusão. No exemplo eu fiz isso na função main(). Veja a listagem completa abaixo:

#include <stdio.h>
#include <stdlib.h>
 
// estrutura Nó
struct No{
  int valor;
  struct No *proximo;
};
// fim da estrutura Nó
 
// função que permite exibir os valores de
// todos os nós da lista
void exibir(struct No *n){
  if(n != NULL){
    do{
      printf("%d\n", n->valor);
      n = n->proximo;
    }while(n != NULL);
  }
  else
    printf("A lista esta vazia\n\n");
}
 
// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
  struct No *n; // nó que será removido
  
  // nó que antecede o nó a ser removido. Isso
  // faz sentido, já que ele será o último nó
  // agora
  struct No *anterior;
  n = inicio; // aponta para o início da lista
  
  // varremos os nós da lista e paramos um nó antes do
  // nó a ser excluído
  while(n->proximo != NULL){
    anterior = n; // anterior assume o lugar de n
    n = n->proximo; // e n assume o seu próximo  
  }
  
  // anterior passa a ser o último nó agora
  anterior->proximo = NULL;
  
  // mostra o nó removido
  printf("\nNo removido: %d\n", n->valor);
  
  free(n); // libera o nó que antes era o último
  
  return inicio;
} 
 
// função que permite inserir nós no
// final da lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó e um ponteiro para o
// início da lista. A função retorna um
// ponteiro para o início da lista
struct No *inserir_final(struct No *n, int v){
  // reserva memória para o novo nó
  struct No *novo = (struct No*)malloc(sizeof(struct No));
  novo->valor = v;
 
  // verifica se a lista está vazia
  if(n == NULL){
    // é o primeiro nó...não deve apontar para
    // lugar nenhum
    novo->proximo = NULL;
    return novo; // vamos retornar o novo nó como sendo o início da lista
  }
  else{ // não está vazia....vamos inserir o nó no final
    // o primeiro passo é chegarmos ao final da lista
    struct No *temp = n; // vamos obter uma referência ao primeiro nó
    // vamos varrer a lista até chegarmos ao último nó
    while(temp->proximo != NULL){
      temp = temp->proximo;
    }
    // na saída do laço temp aponta para o último nó da lista
   
    // novo será o último nó da lista...o campo próximo dele deve
    // apontar para NULL
    novo->proximo = NULL;
    // vamos fazer o último nó apontar para o nó recém-criado
    temp->proximo = novo;
    return n; // vamos retornar o início da lista intacto
  }
}
 
int main(int argc, char *argv[])
{
  // declara a lista
  struct No *inicio = NULL;
 
  // vamos inserir quatro valores no final
  // da lista
  inicio = inserir_final(inicio, 45);
  inicio = inserir_final(inicio, 3);
  inicio = inserir_final(inicio, 98);
  inicio = inserir_final(inicio, 47);
 
  // vamos exibir o resultado
  printf("Valores presentes na lista ligada antes da remocao:\n");
  exibir(inicio);
 
  // vamos remover o nó no fim da lista
  if(inicio != NULL){
    inicio = remover_final(inicio);
  }
  
  // vamos exibir o resultado
  printf("\nValores presentes na lista ligada apos a remocao:\n");
  exibir(inicio);
  
  system("pause");
  return 0;
}

Ao executar esse código você terá o seguinte resultado:

Valores presentes na lista ligada antes da remocao:
45
3
98
47

No removido: 47

Valores presentes na lista ligada apos a remocao:
45
3
98

Pressione qualquer tecla para continuar. . .



Java ::: Fundamentos da Linguagem ::: Modificadores

Regras importantes sobre o uso de modificadores na linguagem Java

Quantidade de visualizações: 7633 vezes
1) Uma declaração de método ou variável pode conter somente um destes modificadores de acesso: public, protected ou private. Na ausência de um destes, o acesso será de pacote.

2) Classes não podem ser declaradas abstract e final simultâneamente.

3) Métodos abstratos não podem ser declarados private, static, final, native, strictfp ou synchronized.

4) Métodos não podem ser declarados native e strictfp ao mesmo tempo.

5) Métodos abstract e native não possuem corpo. Ex:

abstract void inserir();
native void obterDados();

6) Uma classe que contenha métodos abstratos deve ser declarada como abstrata.

7) Membros final não podem ser volatile.


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como remover espaços no início e final de uma string usando as funções strip e strip! da linguagem Ruby

Quantidade de visualizações: 10600 vezes
As funções strip e strip! são úteis quando precisamos remover espaços no início e final de uma string. A função strip retorna uma nova string, enquanto strip! opera na string original. Veja o exemplo:

# declara e inicializa uma variável string
frase = "  Tenho espaços no início e final.   "

# vamos remover os espaços no início e final da
# string. 

# sem alterar a string original
frase2 = frase.strip
puts frase2

# alterando a string original
frase.strip!
puts frase

Ao executar este código Ruby nós teremos o seguinte resultado:

Tenho espaços no início e final.
Tenho espaços no início e final.

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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