Oi pessoal, estou com essa dúvida a alguns dias, dei uma olhada em gets e sets, mas a duvida ainda permanece:
tenho uma classe e três subclasse.
na classe a pessoa digita a idade.
em uma dessas subclasses eu preciso fzer um polimorfismo, ou seja somente nessa classe eu preciso da idade para fzer um calculo diferente das outras.
A grande questão é que eu não estou conseguindo pegar esse valor e usar na subclasse =/
segue o codigo da classe e o código dessa subclasse especifica:
import java.util.Scanner;
public class Cliente{
protected int idade;
private int ano;
private String mat;
private String nome;
public Cliente (int idade, int ano, String nome, String mat){
this.idade=idade;
this.ano=ano;
this.mat=mat;
this.nome=nome;
}
public Cliente(){
}
public void setIdade (int idade){
this.idade=idade;
}
public int getIdade()
{
return idade;
}
public void inputDados(){
Scanner input = new Scanner (System.in);
System.out.println ("Digite a Matricula");
mat = input.next();
while (mat.length() > 5 || mat.length() < 5)
{
System.out.println ("Matrícula inválida.");
System.out.println ("Digite novamente: ");
mat = input.next();
}
System.out.println ("Digite o nome: ");
nome = input.next();
System.out.println ("Digite a idade: ");
idade = input.nextInt();
System.out.println ("Digite o ano de ingressão no plano");
ano=input.nextInt();
while (ano < 1850 || ano > 2011){
System.out.println ("Digite o ano de ingressão no plano");
ano=input.nextInt();
}
}
}
import java.util.Scanner;
public class Ouro extends Cliente{
private double preco;
private double valor;
public Ouro (double preco, double valor){
this.valor=valor;
this.preco=preco;
}
public Ouro(){
}
public double valorTotal(){
Scanner input = new Scanner (System.in);
System.out.println ("Digite o preço da consulta:");
preco=input.nextDouble();
super.getIdade();
if (idade > 60)
preco=0;
else
preco*=0.3;
return valor=preco;
}
public void mostrarDados(){
/* System.out.println ("Plano ");
System.out.println ("-----------------------------------------");
System.out.println ("Informe eu nome e matricula: ");
//Scanner///*/
System.out.println ("Preço da consulta: "+preco);
System.out.println ("Preço final: "+valorTotal());
}
}
ele compila sem problema, mas quando eu executo, ele le até o preço e termina...ele nao faz o calculo.
Alguem pode ajudar-me por favor? grato desde ja =)


