Olá estou aprendendo programação orientado à objetos com o Java, e tem um exercício aonde tenho que utilizar um método que calcula e retorna o valor do desconto, só que ele está retornando sempre o desconto sempre como 0. Segue o código-fonte abaixo:
Passagem.java
/*
- Passagem.java
- Created on 6 de Abril de 2006, 22:50
- To change this template, choose Tools | Template Manager
- and open the template in the editor.
*/
/**
*
-
@author Ricardo
*/
public class Passagem {
private int numero, poltrona;
private String tipo;
private double valor;public Passagem() {
}/** Construtor que Inicializa o Número e Valor da Passagem */
public Passagem(int numero, double valor) {
this.numero = numero;
this.valor = valor;
}/** Devolve o Número da Passagem */
public int getNumero() {
return numero;
}/** Configura o Tipo de Passagem */
public void setTipo(String tipo) {
this.tipo = tipo.toUpperCase();
}/** Devolve o Tipo de Passagem */
public String getTipo() {
return tipo;
}/** Configura o Número da Poltrona */
public void setPoltrona( int poltrona) {
this.poltrona = poltrona;
}/** Devolve o Número da Poltrona */
public int getPoltrona() {
return poltrona;
}/** Devolve o Valor da Passagem */
public double getValor() {
return valor;
}/** Calcula e Devolve o Valor de Desconto */
public double obterValDesc() {
double desconto = 0.0;if(getTipo() == "C") desconto = 0; else if(getTipo() == "E") desconto = getValor() * 0.15; else if(getTipo() == "I") desconto = getValor() * 0.25; return desconto;}
/** Calcula e Devolve o Valor à Pagar */
public double obterValPagar() {
return getValor() - obterValDesc();
}
}
Aplicativo.java
/*
- Aplicativo.java
- Created on 6 de Abril de 2006, 23:18
- To change this template, choose Tools | Template Manager
- and open the template in the editor.
*/
/**
*
-
@author Ricardo
*/
import java.util.Scanner;
public class Aplicativo {
public static void main(String[] args) {
/** Cria um Scanner para Obter entrada de dados pelo Usuário */
Scanner entrada = new Scanner(System.in);
/** Cria um objeto da classe Passagem */
Passagem passagem = new Passagem(154, 18.50);
String tipo; /** Tipo da Passagem */
int poltrona; /** Número da Poltrona */
/** Entrada de Dados */
System.out.print("Insira o Tipo da Passagem - (C) Comun, (E) Estudan" +
"te ou (I) Idoso :");
passagem.setTipo(tipo = entrada.nextLine());
System.out.print("Insira o Número da Poltrona: ");
passagem.setPoltrona(poltrona = entrada.nextInt());
/** Exibe o Resultado */
System.out.printf("\n\n- - - - - DADOS DA PASSAGEM - - - - -\n");
System.out.printf("Número da Passagem: %d\n", passagem.getNumero());
System.out.printf("Número da Poltrona: %d\n", passagem.getPoltrona());
System.out.printf("Tipo: %s\n", passagem.getTipo());
System.out.printf("Valor: R$ %,.2f\n", passagem.getValor());
System.out.printf("Desconto: R$ %,.2f\n", passagem.obterValDesc());
System.out.printf("Valor à Pagar: %,.2f\n", passagem.obterValPagar());
}
}