Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Classe Funcionário
O programa deve armazenar esses dados nos três objetos e, em seguida, exibir os dados de cada
funcionário na tela.
2. Classe Carro
Projete uma classe que armazene os seguintes dados pessoais: nome, endereço, idade e número de
telefone. Escreva métodos acessores e mutadores apropriados. Demonstre a classe escrevendo um
programa que cria três instâncias dela. Uma instância deve conter suas informações e as outras duas
devem conter informações de seus amigos ou familiares.
Escreva uma classe chamada ItemVarejo que armazene dados sobre um item em uma loja de varejo. A
classe deve ter os seguintes campos:
• descrição. O campo descrição referencia um objeto String que contém uma breve descrição do item.
• unidadesEmEstoque. O campo unidadesEmEstoque é uma variável int que armazena o número de
unidades atualmente em estoque.
• preço. O campo preço é um double que armazena o preço de varejo do item.
Escreva um construtor que aceite argumentos para cada campo, métodos mutadores apropriados que
armazenem valores nesses campos e métodos acessores que retornem os valores desses campos. Depois
de escrever a classe, escreva um programa separado que crie três objetos ItemVarejo e armazene os
seguintes dados neles:
Projete uma classe FolhaPagamento que tenha campos para o nome do funcionário, número de
identificação do funcionário, taxa de pagamento por hora e número de horas trabalhadas. Escreva os
métodos acessores e mutadores apropriados e um construtor que aceite o nome do funcionário e o
número de identificação como argumentos. A classe também deve ter um método que retorne o salário
bruto do funcionário, calculado multiplicando o número de horas trabalhadas pela taxa de pagamento por
hora. Escreva um programa que demonstre a classe, criando um objeto FolhaPagamento e, em seguida,
solicitando ao usuário que insira os dados de um funcionário. O programa deve exibir a quantia de salário
bruto recebida.
Projete uma classe NotasTeste que tenha campos para armazenar três notas de teste. A classe deve ter
um construtor, métodos acessores e mutadores para os campos de notas de teste e um método que
retorne a média das notas de teste. Demonstre a classe escrevendo um programa separado que cria uma
instância da classe. O programa deve solicitar ao usuário que insira três notas de teste, que são
armazenadas no objeto NotasTeste. Em seguida, o programa deve exibir a média das notas, conforme
informado pelo objeto NotasTeste.
7. Classe Círculo
8. Classe Temperatura
Escreva uma classe Temperatura que armazene uma temperatura em Fahrenheit e forneça métodos para
obter a temperatura em Fahrenheit, Celsius e Kelvin. A classe deve ter o seguinte campo:
• ftemp - Um double que armazena uma temperatura em Fahrenheit.
A classe deve ter os seguintes métodos:
• Construtor - O construtor aceita uma temperatura em Fahrenheit (como um double) e a armazena no
campo ftemp.
• setFahrenheit - O método setFahrenheit aceita uma temperatura em Fahrenheit (como um double) e a
armazena no campo ftemp.
• getFahrenheit - Retorna o valor do campo ftemp, como uma temperatura em Fahrenheit (sem conversão
necessária).
• getCelsius - Retorna o valor do campo ftemp convertido para Celsius.
• getKelvin - Retorna o valor do campo ftemp convertido para Kelvin.
Use a seguinte fórmula para converter a temperatura em Fahrenheit para Celsius:
Celsius = (5/9) * (Fahrenheit - 32)
Use a seguinte fórmula para converter a temperatura em Fahrenheit para Kelvin:
Kelvin = ((5/9) * (Fahrenheit - 32)) + 273
Demonstre a classe Temperatura escrevendo um programa separado que solicita ao usuário uma
temperatura em Fahrenheit. O programa deve criar uma instância da classe Temperatura, com o valor
inserido pelo usuário passado para o construtor. Em seguida, o programa deve chamar os métodos do
objeto para exibir a temperatura em Celsius e Kelvin.
9. Dias em um Mês
Escreva uma classe chamada DiasMes. O construtor da classe deve aceitar dois argumentos:
• Um inteiro para o mês (1 para janeiro, 2 para fevereiro, etc.).
• Um inteiro para o ano.
A classe deve ter um método chamado getNumeroDias que retorna o número de dias no mês especificado.
O método deve usar os seguintes critérios para identificar anos bissextos:
Verifique se o ano é divisível por 100. Se for, é um ano bissexto somente se for divisível por 400. Por
exemplo, 2000 é um ano bissexto, mas 2100 não é.
Se o ano não for divisível por 100, é um ano bissexto somente se for divisível por 4. Por exemplo, 2008 é
um ano bissexto, mas 2009 não é.
Demonstre a classe em um programa que solicita ao usuário que insira o mês (permitindo que o usuário
insira um inteiro no intervalo de 1 a 12) e o ano. O programa deve exibir o número de dias nesse mês. Aqui
está um exemplo de execução do programa:
Digite um mês (1-12): 2 [Enter]
Digite um ano: 2008 [Enter]
29 dias
Neste desafio, você escreverá um programa que permite ao usuário jogar contra o computador em uma
variação do popular jogo de cartas blackjack. Nessa variação do jogo, dois dados de seis faces são usados
em vez de cartas. Os dados são rolados, e o jogador tenta vencer o total oculto do computador sem
ultrapassar 21.
Aqui estão algumas sugestões para o design do jogo:
• Cada rodada do jogo é realizada como uma iteração de um loop que se repete enquanto o jogador
concorda em rolar os dados e o total do jogador não excede 21.
• No início de cada rodada, o programa perguntará ao usuário se ele deseja ou não rolar os dados para
acumular pontos.
• Durante cada rodada, o programa simula o lançamento de dois dados de seis faces. Ele rola os dados
primeiro para o computador e, em seguida, pergunta ao usuário se ele deseja rolar.
(Use a classe Die fornecida para simular os dados.)
• O loop mantém um total em andamento dos pontos do computador e do jogador.
• O total do computador deve permanecer oculto até que o loop tenha terminado.
• Depois que o loop terminar, o total do computador é revelado, e o jogador com a maior pontuação, sem
ultrapassar 21, vence.
Projete uma classe que armazene uma temperatura em um campo de temperatura e tenha os métodos
acessores e mutadores apropriados para o campo. Além dos construtores apropriados, a classe deve ter
os seguintes métodos:
• isCongelamentoAlcool. Este método deve retornar o valor booleano true se a temperatura armazenada
no campo de temperatura estiver igual ou abaixo do ponto de congelamento do álcool etílico.
Caso contrário, o método deve retornar false.
• isEbulicaoAlcool. Este método deve retornar o valor booleano true se a temperatura armazenada no
campo de temperatura estiver igual ou acima do ponto de ebulição do álcool etílico.
Caso contrário, o método deve retornar false.
• isCongelamentoOxigenio. Este método deve retornar o valor booleano true se a temperatura
armazenada no campo de temperatura estiver igual ou abaixo do ponto de congelamento do oxigênio.
Caso contrário, o método deve retornar false.
• isEbulicaoOxigenio. Este método deve retornar o valor booleano true se a temperatura armazenada no
campo de temperatura estiver igual ou acima do ponto de ebulição do oxigênio.
Caso contrário, o método deve retornar false.
• isCongelamentoAgua. Este método deve retornar o valor booleano true se a temperatura armrmazenada
no campo de temperatura estiver igual ou abaixo do ponto de congelamento da água.
Caso contrário, o método deve retornar false.
• isEbulicaoAgua. Este método deve retornar o valor booleano true se a temperatura armazenada no
campo de temperatura estiver igual ou acima do ponto de ebulição da água.
Caso contrário, o método deve retornar false.
Escreva um programa que demonstre a classe. O programa deve solicitar ao usuário que insira uma
temperatura e, em seguida, exibir uma lista das substâncias que irão congelar a essa temperatura e
aquelas que irão entrar em ebulição a essa temperatura. Por exemplo, se a temperatura for -20, a classe
deve informar que a água irá congelar e o oxigênio entrará em ebulição a essa temperatura.
Projete uma classe ContaPoupanca que armazene a taxa de juros anual e o saldo de uma conta poupança.
O construtor da classe deve aceitar o valor do saldo inicial da conta. A classe também deve ter métodos
para subtrair o valor de um saque, adicionar o valor de um depósito e adicionar o valor do juros mensal
ao saldo. A taxa de juros mensal é a taxa de juros anual dividida por doze. Para adicionar os juros mensais
ao saldo, multiplique a taxa de juros mensal pelo saldo e adicione o resultado ao saldo.
Teste a classe em um programa que calcula o saldo de uma conta poupança ao final de um período de
tempo. Ele deve solicitar ao usuário a taxa de juros anual, o saldo inicial e o número de meses que se
passaram desde a abertura da conta. Um loop deve então iterar uma vez para cada mês, realizando o
seguinte:
a. Pergunte ao usuário o valor depositado na conta durante o mês. Use o método da classe para adicionar
esse valor ao saldo da conta.
b. Pergunte ao usuário o valor sacado da conta durante o mês. Use o método da classe para subtrair esse
valor do saldo da conta.
c. Use o método da classe para calcular os juros mensais. Após a última iteração, o programa deve exibir
o saldo final, o total de depósitos, o total de saques e o total de juros ganhos.
Use o Bloco de Notas ou outro editor de texto para criar um arquivo de texto chamado Depositos.txt. O
arquivo deve conter os seguintes números, um por linha:
100,00
124,00
78,92
37,55
Em seguida, crie um arquivo de texto chamado Saques.txt. O arquivo deve conter os seguintes números,
um por linha:
29,88
110,00
27,52
50,00
12,90
Os números no arquivo Depositos.txt são os valores dos depósitos feitos em uma conta poupança durante
o mês, e os números no arquivo Saques.txt são os valores dos saques feitos durante o mês. Escreva um
programa que crie uma instância da classe ContaPoupanca que você escreveu no Desafio de Programação
12. O saldo inicial para o objeto é de 500,00. O programa deve ler os valores do arquivo Depositos.txt e
usar o método do objeto para adicioná-los ao saldo da conta. O programa deve ler os valores do arquivo
Saques.txt e usar o método do objeto para subtraí-los do saldo da conta. O programa deve chamar o
método da classe para calcular os juros mensais e, em seguida, exibir o saldo final e o total de juros ganhos.
Escreva um programa que use a classe Dado que foi apresentada neste capítulo para jogar um jogo de
dados simples entre o computador e o usuário. O programa deve criar duas instâncias da classe Dado
(cada uma com um dado de 6 faces). Um objeto Dado é o dado do computador e o outro objeto Dado é o
dado do usuário.
O programa deve ter um loop que itera 10 vezes. Cada vez que o loop itera, ele deve rolar ambos os dados.
O dado com o maior valor vence. (Em caso de empate, não há vencedor para aquela jogada específica dos
dados.)
À medida que o loop itera, o programa deve contar o número de vezes que o computador vence e o
número de vezes que o usuário vence. Depois que o loop terminar, o programa deve exibir quem foi o
grande vencedor, o computador ou o usuário.
Em uma roleta, os bolsos são numerados de 0 a 36. As cores dos bolsos são as seguintes:
• Bolso 0 é verde.
• Para os bolsos de 1 a 10, os bolsos com número ímpar são vermelhos e os bolsos com número par são
pretos.
• Para os bolsos de 11 a 18, os bolsos com número ímpar são pretos e os bolsos com número par são
vermelhos.
• Para os bolsos de 19 a 28, os bolsos com número ímpar são vermelhos e os bolsos com número par são
pretos.
• Para os bolsos de 29 a 36, os bolsos com número ímpar são pretos e os bolsos com número par são
vermelhos.
Escreva uma classe chamada BolsoRoleta. O construtor da classe deve aceitar um número de bolso. A
classe deve ter um método chamado getCorBolso que retorna a cor do bolso, como uma string.
Demonstre a classe em um programa que peça ao usuário para inserir um número de bolso e exiba se o
bolso é verde, vermelho ou preto. O programa deve exibir uma mensagem de erro se o usuário inserir um
número fora do intervalo de 0 a 36.