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 ::: ArrayList

Como criar uma ArrayList de Alunos, inserir novos alunos e listá-los usando um menu switch - Desafio de Programação Resolvido em Java

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

Escreva um programa Java contendo uma ArrayList de objetos da classe Aluno. Cada aluno deverá ter nome, idade e curso. Seu código deverá usar um menu switch com as opções de cadastrar novo aluno, listar todos os alunos e sair. Além disso, a classe Aluno deverá apresentar construtores vazio e cheio e usar encapsulamento de dados (variáveis de instância marcadas como private).

Sua saída deverá ser parecida com:

1. Cadastrar Novo Aluno
2. Listar Todos os Alunos
3. Sair
Sua opção: 1

Nome do aluno: OSMAR J SILVA
Idade do aluno: 43
Curso do aluno: ENGENHARIA CIVIL

Aluno cadastrado com sucesso.

1. Cadastrar Novo Aluno
2. Listar Todos os Alunos
3. Sair
Sua opção: 
Resposta/Solução:

Veja a resolução comentada deste exercício em Java:

Vamos começar com o código para a classe Aluno.java:

package estudos;

// definição da classe Aluno
public class Aluno {
  private String nome;
  private int idade;
  private String curso;

  // construtor vazio
  public Aluno() {
  }

  // construtor cheio
  public Aluno(String nome, int idade, String curso) {
    this.nome = nome;
    this.idade = idade;
    this.curso = curso;
  }

  public String getNome() {
    return nome;
  }

  public void setNome(String nome) {
    this.nome = nome;
  }

  public int getIdade() {
    return idade;
  }

  public void setIdade(int idade) {
    this.idade = idade;
  }

  public String getCurso() {
    return curso;
  }

  public void setCurso(String curso) {
    this.curso = curso;
  }
}

Agora veja o código para a classe principal, que chamei de Estudos.java:

package estudos;

import java.util.ArrayList;
import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);

    // vamos criar uma ArrayList de objetos Aluno
    ArrayList<Aluno> alunos = new ArrayList();
    
    // agora vamos criar o menu de opções
    while(true){
      System.out.println("1. Cadastrar Novo Aluno");
      System.out.println("2. Listar Todos os Alunos");
      System.out.println("3. Sair");
      System.out.print("Sua opção: ");
      int opcao = Integer.parseInt(entrada.nextLine());
      
      switch(opcao){
        // cadastra um novo aluno
        case 1:
          // vamos pedir os dados do aluno
          System.out.print("\nNome do aluno: ");
          String nome = entrada.nextLine();
          System.out.print("Idade do aluno: ");
          int idade = Integer.parseInt(entrada.nextLine());
          System.out.print("Curso do aluno: ");
          String curso = entrada.nextLine();
          
          // agora criamos uma nova instância da classe Aluno
          Aluno a = new Aluno(nome, idade, curso);
          
          // a colocamos o aluno na ArrayList
          alunos.add(a);
          
          // para finalizar mostramos uma mensagem de sucesso.
          System.out.println("\nAluno cadastrado com sucesso.\n");
          
          break;
        
        // lista todos os alunos do ArrayList  
        case 2:
          System.out.println("\nListagem de alunos:\n");
          
          // percorre todos os alunos no ArrayList
          for(int i = 0; i < alunos.size(); i++){
            Aluno aluno = alunos.get(i);
            System.out.println("Nome: " + aluno.getNome());
            System.out.println("Idade: " + aluno.getIdade());
            System.out.println("Curso: " + aluno.getCurso() + "\n");
          }
          
          break;
          
        // sai do programa  
        case 3:
          System.out.println("\nObrigado por usar o programa.\n");
          System.exit(0);
      }
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

VB.NET ::: Dicas & Truques ::: Matemática e Estatística

Como calcular juros simples e montante em VB.NET

Quantidade de visualizações: 8358 vezes
O regime de juros será simples quando o percentual de juros incidir apenas sobre o valor principal. Sobre os juros gerados a cada período não incidirão novos juros. Valor Principal ou simplesmente principal é o valor inicial emprestado ou aplicado, antes de somarmos os juros. Transformando em fórmula temos:

J = P . i . n

Onde:

J = juros
P = principal (capital)
i = taxa de juros
n = número de períodos

Imaginemos uma dívida de R$ 2.000,00 que deverá ser paga com juros de 5% a.m. pelo regime de juros simples e o prazo para o pagamento é de 2 meses. O cálculo em VB.NET pode ser feito assim:

Module Module1
  Sub Main()
    Dim principal As Double = 2000.0
    Dim taxa As Double = 0.08 '8%
    Dim meses As Integer = 2

    Dim juros As Double = principal * taxa * meses

    Console.WriteLine("O total de juros a ser pago é: " _
       & juros)

    Console.WriteLine()
    Console.WriteLine("Pressione uma tecla para sair...")
    Console.ReadKey()
  End Sub
End Module

O montante da dívida pode ser obtido das seguintes formas:

a) Montante = Principal + Juros
b) Montante = Principal + (Principal x Taxa de juros x Número de períodos)

M = P . (1 + (i . n))

Veja o código:

Module Module1
  Sub Main()
    Dim principal As Double = 2000.0
    Dim taxa As Double = 0.08 '8%
    Dim meses As Integer = 2

    Dim juros As Double = principal * taxa * meses
    Dim montante As Double = principal * (1 + (taxa * meses))

    Console.WriteLine("O total de juros a ser pago é: " _
       & juros)
    Console.WriteLine("O montante a ser pago é: " & montante)

    Console.WriteLine()
    Console.WriteLine("Pressione uma tecla para sair...")
    Console.ReadKey()
  End Sub
End Module



C++ ::: Dicas & Truques ::: Input e Output (Entrada e Saída)

Como ler entrada do usuário em C++ usando a função global getline() da classe string

Quantidade de visualizações: 12360 vezes
Nesta dica mostrarei como é possível usar a função global getline() da classe string da linguagem C++ para ler a entrada do usuário.

Veja a assinatura que usaremos:

istream& getline(istream& is, string& str);


Esta função extrai os caracteres do fluxo de entrada (is) e os armazena na string fornecida como argumento (str). Veja o código completo:

#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  string nome;
  cout << "Por favor, informe o seu nome: ";
  getline(cin, nome);
  cout << "Seu nome é: " << nome << "\n\n"; 
      
  system("PAUSE"); // pausa o programa
  return 0;
}

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

Por favor, informe o seu nome: Osmar J. Silva
Seu nome é: Osmar J. Silva

Pressione qualquer tecla para continuar...


PHP ::: Dicas & Truques ::: Data e Hora

Como verificar se um ano é bissexto usando PHP

Quantidade de visualizações: 9481 vezes
Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da terra e com os eventos sazonais relacionados às estações do ano.

Na linguagem PHP podemos verificar se um ano é bissexto checando o valor retornado por date("L"). Se o valor retornado for "1", então o ano é bissexto. Observe que, em PHP, o valor 1 é considerado true (verdadeiro).

Veja um trecho de código completo no qual testamos se um determinado ano é bissexto ou não:

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<?php  
  // função que verifica se o ano é bissexto
  function ano_bissexto($ano){  
    return (date('L', mktime(0, 0, 0, 1, 1, $ano)) == 1);  
  }  

  // agora vamos testar a função
  $ano = 2020;
  if(ano_bissexto($ano)){
    echo "O ano $ano é bissexto";
  }
  else{
    echo "O ano $ano não é bissexto";
  }
?>  

</body>
</html>

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

O ano 2020 é bissexto


PHP ::: Dicas & Truques ::: Strings e Caracteres

Como usar a função strpos() do PHP para encontrar a posição da primeira ocorrência de uma substring em uma string

Quantidade de visualizações: 5822 vezes
Em algumas situações gostaríamos de encontrar a posição da primeira ocorrência de uma substring em uma string usando PHP. Para isso podemos usar a função strpos(). Veja sua assinatura:

mixed strpos(string $haystack, mixed $needle[, int $offset = 0])

O parâmetro $haystack é a string na qual a substring será pesquisada e $needle é a substring que queremos pesquisar. O parâmetro opcional $offset é o índice a partir do qual a pesquisa será feita. Na ausência deste parâmetro, a pesquisa será feita a partir do primeiro caractere da string.

Veja um trecho de código no qual tentamos encontrar o índice da primeira ocorrência da palavra "PHP" na frase "Eu gosto de PHP":

<?php
  $pos = strpos("Eu gosto de PHP", "PHP");

  if($pos === false){
    echo "A substring não foi encontrada.";
  } 
  else{
    echo "A substring foi encontrada no índice: " . $pos;  
  }
?>

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

A substring foi encontrada no índice: 12

Fique atento ao uso do operador "===" para testar o retorno da função strpos(). Se você quiser inverter o teste, basta usar o operador "!==".

Para finalizar, note que a função strpos() diferencia maiúsculas de minúsculas. Se você quiser efetuar uma pesquisa de substrings desconsiderando maiúsculas e minúsculas, use a função stripos().

Ambas as funções strpos() e stripos() podem provocar o erro "Offset not contained in string" se o valor do parâmetro $offset não estiver entre 0 (incluindo e o tamanho da string.


C ::: Dicas & Truques ::: Strings e Caracteres

Como copiar os caracteres de uma string para outra usando a função strcpy() da linguagem C

Quantidade de visualizações: 12569 vezes
Pessoas acostumadas com Delphi, Java ou PHP podem pensar que a tarefa de copiar o conteúdo de uma string para outra em C pode ser tão simples quanto o código a seguir:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
  char frase1[] = "Gosto de PHP";
  char frase2[50]; // pode receber até 49 caracteres

  // copia a primeira frase para a segunda
  frase2 = frase1;

  // exibe o resultado
  printf(frase2);

  puts("\n\n");
  system("PAUSE");
  return 0;
}

Este código não funciona. No Dev-C++ (MingW) a seguinte mensagem de erro de compilação é exibida:

incompatible types in assignment 
of `char[13]` to `char[50]` 

Em C, a forma correta de copiar os caracteres de uma string para outra é obtendo ponteiros para a posição inicial das duas strings, percorrer todos os caracteres da primeira e atribuí-los um de cada vez nas posições de memória reservadas para a segunda string. Veja o protótipo da função strcpy(), usada para tal finalidade:

char *strcpy(char *destino, const char *origem);

Como podemos ver, a função copiará todos os caracteres contidos na string origem para a string destino. É importante observar que a string destino deverá ser declarada de forma que todos os caracteres a serem copiados possam ser acomodados sem que o programa corra o risco de escrever em áreas de memória reservadas a outras finalidades. Veja um exemplo completo:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
  char frase1[] = "Gosto de PHP";
  char frase2[50]; // pode receber até 50 caracteres

  // copia a primeira frase para a segunda
  strcpy(frase2, frase1);

  // exibe o resultado
  printf(frase2);

  puts("\n\n");
  system("PAUSE");
  return 0;
}



Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

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

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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