Você está na página 1de 7

Aluna: Eduarda Maria de Albuquerque Chagas

Professor: Thiago Bonini


LISTA LINGUAGEM DE PROGRAMAÇÃO II

1–
package divisao;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Divisao {


public static void main(String args[]){
float x,y,resultado=0;

x = lerNumero();
y = lerNumero();

try{
resultado = dividir(x,y);
}catch(ArithmeticException e){
System.err.println("Não é possível efetuar divisão por zero!");
}

System.out.println(x+ "/" + y + "=" + resultado);


}

public static float lerNumero(){


Scanner input = new Scanner(System.in);
float i = 0;

try{
System.out.println("Digite um numero:");
i = input.nextFloat();
}
catch(InputMismatchException exc){
System.err.println("Valor incorreto!\n");
i=-1;
}
finally{
return i;
}
}

public static float dividir(float x, float y){


if(y==0){
throw new ArithmeticException("Não é possível efetuar divisão por zero!");
}else{
return x/y;
}
}
}

2–
package vetores;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Vetores {

public static void main(String[] args) {


int[] numeros;
int x=-1, i=0;
numeros = new int[10];

do{
try{
numeros[i] = lerNumero();
}catch(ArrayIndexOutOfBoundsException e){
System.err.println("Você extrapolou o tamanho do vetor!");
}
i++;
}while(x!=0);
}

public static int lerNumero(){


Scanner input = new Scanner(System.in);
int i = 0;

try{
System.out.println("Digite um numero:");
i = input.nextInt();
}
catch(InputMismatchException exc){
System.err.println("Valor incorreto!");
i=0;
}
finally{
return i;
}
}
}

3–
package Usuario;
public class Login {
private String usuario;
private String senha;

public Login(String usuario, String senha) {


this.usuario = usuario;
this.senha = senha;
}

public void setSenha (String senha) {


this.senha = senha;
}

public boolean fazerLogin(String usuario, String senha){


boolean situacao = false;
try{
if(!usuario.equals(this.usuario)) {
throw new Exception("Usuário incorreto");
}else{
if(!this.senha.equals(senha)){
throw new Exception("Senha incorreta");
}else{
situacao = true;
}
}
}catch(Exception e){
System.err.println("Mensagem: "+e.getMessage());
}finally{
return situacao;
}
}
}

package Usuario;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Usuario {

public static void main(String[] args) {


Login usuario1;
String usuario, senha;

System.out.println("Cadastro:");
usuario = lerString(1);
senha = lerString(2);
usuario1 = new Login(usuario, senha);
System.out.println("Login:");
usuario = lerString(1);
senha = lerString(2);

if(usuario1.fazerLogin(usuario, senha)){
System.out.println("Login efetuado!");
}else{
System.out.println("Erro ao efetuar login!!!");
}
}

public static String lerString(int tipo){


Scanner input = new Scanner(System.in);
String s = null;

try{
if(tipo==1){
System.out.println("Informe o usuario:");
}else{
System.out.println("Informe a senha:");
}
s = input.next();
}
catch(InputMismatchException exc){
System.err.println("Valor incorreto!\n");
s=null;
}
finally{
return s;
}
}
}

4–
A classe será executada com êxito printando “try”, “catch” e “finally”, mas ocorrerá um erro
na hora da compilação quando ela chegar na linha do “throw me” – a exceção não
reportada MinhaExcecao; deve ser pega ou declarada para ser lançado, pois como o
método main não foi declarado utilizando "throws (...)", não é permitido lançar uma exceção.

5–
package caixa;

public class ContaException extends Exception {

public ContaException(String mensagem) {


super(mensagem);
}
}

package caixa;

public class ContaBancaria {


private double saldo;
private double limite;

public ContaBancaria(double valorSaldo, double valorLimite){


this.saldo = valorSaldo;
this.limite = valorLimite;
}

public double getSaldo(){


return this.saldo;
}

protected double getLimite(){


return this.limite;
}

public double getSaldoComLimite(){


return this.limite + this.saldo;
}

public boolean sacar(double valor) throws ContaException {


boolean situacao = false;
if(valor>=500){
throw new ContaException("Saque não pode ser efetuado, pois o valor não é inferior
a 500");
}else{
if(valor>=getSaldoComLimite()){
throw new ContaException("Saque não pode ser efetuado, pois o valor é superior
ao saldo com limite");
}else{
this.saldo -= valor;
situacao = true;
}
}
return situacao;
}

public void depositar(double valor) throws ContaException {


boolean situacao = false;
if(valor>1000){
throw new ContaException("Deposito não pode ser efetuado, pois o valor é superior
a 1000");
}else{
this.saldo += valor;
}
}
}

package caixa;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Caixa {

public static void main(String[] args) {


ContaBancaria conta = new ContaBancaria(250, 100);
float valor;

System.out.println("Saque:");
valor = lerNumero();
try{
conta.sacar(valor);
}catch(ContaException e){
System.err.println(e.getMessage());
}
System.out.println("\nSaldo: "+conta.getSaldo());

System.out.println("\nDeposito:");
valor = lerNumero();
try{
conta.depositar(valor);
}catch(ContaException e){
System.err.println(e.getMessage());
}
System.out.println("\nSaldo: "+conta.getSaldo());
}
public static float lerNumero(){
Scanner input = new Scanner(System.in);
float i = 0;

try{
System.out.println("Informe um valor:");
i = input.nextFloat();
}
catch(InputMismatchException exc){
System.err.println("Valor incorreto!\n");
i=-1;
}
finally{
return i;
}
}
}

Você também pode gostar