Buscar

Exercicios Livro JAVA COMO PROGRAMAR

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
1 
 
 
JAVA COMO PROGRAMAR 10ª EDIÇÃO - 
 
Capítulo 3.2 – Variáveis de instância, métodos set e get 
 
Classe Conta 
 
 
Classe ContaTeste 
 
 
Saída 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
2 
 
 
Diagrama de Classe UML de Conta 
Conta 
- nome: String 
+ setNome(nome: String) 
+getNome(): String 
 
Capítulo 3.4 - Inicialização de objetos com construtores 
Classe Conta 
 
 
Classe ContaTeste 
 
 
Saída 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
3 
 
 
Diagrama de Classe UML de Conta 
Conta 
- nome: String 
«construtor» Conta(nome: String) 
+ setNome(nome: String) 
+getNome(): String 
 
Capítulo 3.5 – Classe Conta com um saldo; números de ponto flutuante 
Classe Conta 
 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
4 
 
 
Classe ContaTeste 
 
 
Saída 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
5 
 
 
Diagrama de Classe UML de Conta 
Conta 
- nome: String 
- saldo: double 
«construtor» Conta(nome: String, saldo: double) 
+ depositar(valorDepositado: double) 
+getSaldo(): double 
+ setNome(nome: String) 
+getNome(): String 
 
Capítulo 3.6 – Estudo de Caso de GUIs e imagens gráficas: utilizando caixas de diálogo 
Classe Dialogo1 
 
 
Saída 
 
 
Classe DialogoNome 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
6 
 
 
Questões 
 
3.11 (Classe Account modificada) Modifique a classe Account (Figura 3.8) para fornecer um método chamado 
withdraw que retira dinheiro de uma Account. Assegure que o valor de débito não exceda o saldo de Account. Se exceder, 
o saldo deve ser deixado inalterado e o método deve imprimir uma mensagem que indica "Withdrawal amount exceeded 
account balance" [Valor de débitoexcedeu o saldo da conta]. Modifique a classe AccountTest (Figura 3.9) para testar o 
método withdraw. 
 
Classe Conta 
package cap3; 
// Classe Conta com uma variável de instância "saldo" do tipo double e um construtor 
// e método "depositar" que executa a validação. 
 
public class Conta { 
 
 private String nome; // variável de instância 
 private double saldo; // variável de instância 
 
 // Construtor de Conta que recebe dois parâmetros 
 public Conta(String nome, double saldo) 
 { 
 this.nome = nome; // atribui nome a variável de instância nome 
 
 // valida que o saldo é maior que 0.0; se não for, 
 // a variável de instância saldo mantém seu valor inicial padrão de 0.0 
 if (saldo > 0.0) // se o saldo for válido 
 this.saldo = saldo; // o atribui à variável de instância saldo 
 } 
 
 // método que deposita (adiciona) apenas a quantia válida no saldo 
 public void depositar(double valorDepositado) 
 { 
 if ( valorDepositado > 0.0 ) // se depositaValor for válido 
 saldo = saldo + valorDepositado; // o adiciona ao saldo 
 } 
 
 // método que debita (retira) apenas a quantia válida no saldo 
 public void debitar(double valorDebitado) 
 { 
 if ( valorDebitado > saldo ) { 
 System.out.print("Valor de débito excedeu o saldo da conta!"); 
 }else { 
 saldo = saldo - valorDebitado; 
 } 
 } 
 
 // método que retorna o saldo da conta 
 public double getSaldo() 
 { 
 return saldo; 
 } 
 // método que define o nome 
 public void setNome(String nome) 
 { 
 this.nome = nome; 
 } 
 // método que retorna o nome 
 public String getNome() 
 { 
 return nome; // retorna o valor de nome ao chamador 
 } // fim do método getNome 
} // fim da classe Conta 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
7 
 
 
Classe ContaTeste 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
8 
 
 
3.12 (Classe Invoice) Crie uma classe chamada Invoice para que uma loja de suprimentos de informática a utilize 
para representar uma fatura de um item vendido nela. Uma Invoice (fatura) deve incluir quatro partes das informações 
como variáveis de instância — o número (tipo String), a descrição (tipo String), a quantidade comprada de um item (tipo 
int) e o preço por item (double). Sua classe deve ter um construtor que inicializa as quatro variáveis de instância. Forneça 
um método set e um get para cada variável de instância. Além disso, forneça um método chamado getInvoiceAmount que 
calcula o valor de fatura (isto é, multiplica a quantidade pelo preço por item) e depois retorna esse valor como double. Se 
a quantidade não for positiva, ela deve ser configurada como 0. Se o preço por item não for positivo, ele deve ser 
configurado como 0.0. Escreva um aplicativo de teste chamado InvoiceTest que demonstra as capacidades da classe 
Invoice. 
 
Classe Fatura 
 
package cap3; 
 
public class Fatura { 
 
 private String numero; 
 private String descricao; 
 private int quantidade; 
 private double preco; 
 private double total; 
 
 
 // métodos set e get do numero 
 public void setNumero(String numero) { 
 this.numero = numero; 
 } 
 
 public String getNumero() { 
 return numero; 
 } 
 
 // métodos set e get da descrição 
 public void setDescricao(String descricao) { 
 this.descricao = descricao; 
 } 
 
 public String getDescricao() { 
 return descricao; 
 } 
 
 // métodos set e get da quantidade 
 public void setQuantidade(int quantidade) { 
 if (quantidade < 0) 
 quantidade = 0; 
 this.quantidade = quantidade; 
 } 
 
 public int getQuantidade() { 
 return quantidade; 
 } 
 
 // métodos set e get do preço 
 public void setPreco(double preco) { 
 if (preco < 0) 
 preco = 0; 
 this.preco = preco; 
 } 
 
 public double getPreco() { 
 return preco; 
 } 
 
 // método que calcula o total da Fatura 
 public double totalFatura() { 
 return total = preco * quantidade; 
 } 
} 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
9 
 
 
Classe FaturaTeste 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
10 
 
 
3.13 (Classe Employee) Crie uma classe chamada Employee que inclua três variáveis de instância — um primeiro 
nome (tipo String), um sobrenome (tipo String) e um salário mensal (double). Forneça um construtor que inicializa as três 
variáveis de instância. Forneça um método set e um get para cada variável de instância. Se o salário mensal não for 
positivo, não configure seu valor. Escreva um aplicativo de teste chamado EmployeeTest que demonstre as capacidades 
da classe Employee. Crie dois objetos Employee e exiba o salário anual de cada objeto. Então dê a cada Employee um 
aumento de 10% e exiba novamente o salário anual de cada Employee. 
Classe Funcionario 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
11 
 
 
Classe FuncionarioTeste 
 
package cap3; 
 
import java.util.Scanner; 
 
public class FuncionarioTeste { 
 
 public static void main(String[] args) { 
 // Inicialização do construtor 
 Funcionario funcionario1 = new Funcionario(); 
 Funcionario funcionario2 = new Funcionario(); 
 
 // Entrada de dados 
 Scanner imput = new Scanner(System.in); 
 
 System.out.printf("Nome do 1º Funcionario: "); 
 String nome1 = imput.next(); 
 funcionario1.setNome(nome1); 
 
 System.out.printf("Sobrenome do 1º Funcionario: "); 
 String sobrenome1 = imput.next(); 
 funcionario1.setSobrenome(sobrenome1); 
 
 System.out.printf("Salário do 1º Funcionario: "); 
 double salario1 = imput.nextDouble(); 
 funcionario1.setSalario(salario1); 
 
 System.out.println("----------------------------------"); 
 
 System.out.printf("Nome do 2º Funcionario: "); 
 String nome2 = imput.next(); 
 funcionario2.setNome(nome2); 
 
 System.out.printf("Sobrenome do 2º Funcionario: "); 
 String sobrenome2 = imput.next(); 
 funcionario2.setSobrenome(sobrenome2); 
 
 System.out.printf("Salário do 2º Funcionario: "); 
 double salario2 = imput.nextDouble(); 
 funcionario2.setSalario(salario2); 
 
 // Exibição dos dados 
 System.out.printf("%n1º Funcionário %s %s recebe %.2f /ano.", 
funcionario1.getNome(), funcionario1.getSobrenome(),funcionario1.getSalario()); 
 System.out.printf("%n2º Funcionário %s %s recebe %.2f /ano.%n", 
funcionario2.getNome(), funcionario2.getSobrenome(), funcionario2.getSalario()); 
 
 System.out.println("----------------------------------"); 
 // Exibição dos dados com aumento de 10% 
 System.out.print("Total anual com aumento de 10%"); 
 System.out.printf("%n1º Funcionário %s %s recebe %.2f /ano.", 
funcionario1.getNome(), funcionario1.getSobrenome(), 
( funcionario1.getSalario()+(funcionario1.getSalario()*0.10)) ); 
 System.out.printf("%n2º Funcionário %s %s recebe %.2f /ano.", 
funcionario2.getNome(), funcionario2.getSobrenome(), 
( funcionario2.getSalario()+(funcionario2.getSalario()*0.10)) ); 
 } 
 
} 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
12 
 
 
Capítulo 4.7 – Classe Estudante: instruções if…else aninhadas 
Classe Estudante 
 
package cap4; 
// Classe Estudante que armazena o nome e a média de um aluno. 
 
public class Estudante { 
 
 private String nome; 
 private double media; 
 
 // construtor inicializa variáveis de instância 
 public Estudante (String nome, double media) { 
 this.nome = nome; 
 
 // valida que a média é > 0.0 e <= 100.0; caso contrário, 
 // armazena o valor padrão da média da variável de instância (0.0) 
 if ( media > 0.0 ) 
 if ( media <= 100.0 ) 
 this.media = media; // atribui a variável de instância 
 } 
 
 // define o nome do Estudante 
 public void setNome ( String nome ) { 
 this.nome = nome; 
 } 
 
 // recupera o nome do Estudante 
 public String getNome () { 
 return nome; 
 } 
 
 // define a média do Estudante 
 public void setMedia ( double mediaEstudante ) { 
 // valida que a média é > 0.0 e <= 100.0; caso contrário, 
 // armazena o valor atual da média da variável de instância 
 if ( media > 0.0 ) 
 if ( media <= 100.0 ) 
 this.media = media; // atribui a variável de instância 
 } 
 
 // recupera a media do Estudante 
 public double getMedia () { 
 return media; 
 } 
 
 // determina e retorna a letra da nota do Estudante 
 public String getNotaLetra() { 
 String notaLetra = ""; // inicializado como uma String vazia 
 
 if ( media >= 90.0 ) 
 notaLetra = "A"; 
 else if ( media >= 80.0 ) 
 notaLetra = "B"; 
 else if ( media >= 70.0 ) 
 notaLetra = "C"; 
 else if ( media >= 60.0 ) 
 notaLetra = "D"; 
 else 
 notaLetra = "F"; 
 
 return notaLetra; 
 } 
} // finaliza a classe Estudante 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
13 
 
 
Classe EstudanteTeste 
 
 
Saída 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
14 
 
 
Capítulo 4.9 – Formulando algoritmos: repetição controlada por contador 
Classe MediaClasse 
 
 
Saída 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
15 
 
 
Capítulo 4.10 – Formulando algoritmos: repetição controlada por sentinela 
Classe MediaClasse 
 
package cap4; 
 
import java.util.Scanner; // programa utiliza a classe Scanner 
 
// Resolvendo o problema da média da classe usando a repetição controlada por sentinela. 
 
public class MediaClasse { 
 
 public static void main(String[] args) { 
 // cria Scanner para obter entrada a partir da janela de comando 
 Scanner input = new Scanner(System.in); 
 
 // fase de inicialização 
 int total = 0; // inicializa a soma das notas inseridas pelo usuário 
 int contador = 0; // inicializa nº da notas inseridas até agora 
 
 // fase de processamento 
 // solicita entrada e lê a nota do usuário 
 System.out.print( "Entre com a nota ou -1 para sair: " ); 
 int nota = input.nextInt(); 
 
 // faz um loop até ler o valor de sentinela inserido pelo usuário 
 while ( nota != -1 ) { 
 
 total = total + nota; // adiciona nota ao total 
 contador = contador + 1; // incrementa o contador 
 
 // solicita entrada e lê a próxima nota fornecida pelo usuário 
 System.out.print( "Entre com a nota ou -1 para sair: " ); 
 nota = input.nextInt(); 
 } 
 
 // fase de término 
 // se o usuário inseriu pelo menos uma nota... 
 if ( contador !=0 ) { 
 // usa número com ponto decimal para calcular a média das notas 
 double media = (double) total / contador; 
 
 // exibe o total e a média (com dois dígitos de precisão) 
 System.out.printf( "%nTotal das %d entradas: %d%n", contador, total ); 
 System.out.printf( "Média da classe: %.2f%n", media); 
 } else 
 System.out.println( "Nenhuma nota foi informada." ); 
 } 
} // fim da classe MediaClasse 
 
Saída 
 
 
 
Te ajudei??? Curta!!! Contribua!!! 
PIX: leeaugust@yahoo.com 
16 
 
 
Capítulo 4.11 – Formulando algoritmos: instruções de controle aninhadas 
Classe Analise 
 
 
Saída (teste com a mensagem de bônus) 
 
 
Saída

Continue navegando