Galeraaaaaa, Help-me!
Faço gestão em ti (faço EAD) e estou sendo obrigada a aprender JAVA. Nunca tive contato com programação e nem meu foco é esse.
Estou quase na prova e acumulou tudo.
Preciso de Pai-amigo para me ajudar.
Preciso fazer isso:
- Seja a classe abstrata ContaBancaria :
public abstract class ContaBancaria{
private int numero;
private double saldo;
public ContaBancaria(int n){
this.numero = n;
this.saldo = 0;
}
public abstract void deposita(double valor);
public abstract boolean retira (double valor);//retorna false caso
// haja insuficiência de fundos.
// Devolte true, em caso contrário
public void setSaldo(double valor){this.saldo = valor;}
public double getSaldo(){return this.saldo;}
public int getNumero(){return this.numero;}
public void mostraDados(){
System.out.println("Conta número: " + this.numero);
System.out.println("Saldo atual: R$ " + this.saldo);
}
}
public abstract class ContaBancaria{
private int numero;
private double saldo;
public ContaBancaria(int n){
this.numero = n;
this.saldo = 0;
}
public abstract void deposita(double valor);
public abstract boolean retira (double valor);//retorna false caso
// haja insuficiência de fundos.
// Devolte true, em caso contrário
public void setSaldo(double valor){this.saldo = valor;}
public double getSaldo(){return this.saldo;}
public int getNumero(){return this.numero;}
public void mostraDados(){
System.out.println("Conta número: " + this.numero);
System.out.println("Saldo atual: R$ " + this.saldo);
}
}
Programe duas subclasses concretas ContaCorrente e ContaDePoupança.
Uma conta corrente tem um limite de crédito, que é um valor até o qual a conta pode
ficar com saldo negativo. Por exemplo, se uma conta corrente tem um saldo de
200,00 e um limite de crédito de 100,00, ela aceita saque de até 300,00.
A particularidade de uma conta de poupança é que ela não admite saldo negativo,
mas ganha eventual ou periodicamente algum rendimento. Deve ter, portanto, um
método para fazer o crédito do rendimento, cujo parâmetro é a taxa percentual que
será aplicada sobre o saldo existente.
2) Dê continuidade à pequena aplicação bancária, criando uma classe Correntista
com os seguintes atributos:
nome do correntista;
um array de objetos do tipo ContaBancaria que corresponde às várias contas
que um correntista pode ter, sabendo que há um limite máximo de 10 contas
por correntista;
um contador (tamanho lógico) que guarda a quantidade de contas que o
correntista realmente tem no momento.
Construtor: recebe como parâmetro apenas o nome do correntista e inicializa todos
os atributos convenientemente (quando um correntista é instanciado ele não teve
ainda nenhuma conta aberta).
Métodos:
- abreConta ? recebe um objeto do tipo ContaBancaria e insere-o na próxima posição
livre do atributo array de contas ? o método retorna true se a operação teve
sucesso, e false caso a quantidade máxima de contas já tenha sido atingida antes. - somaSaldos ? devolve a soma dos saldos de todas as contas do correntista
contaDeMaiorSaldo ? devolve o objeto do tipo ContaBancaria que representa a conta
do correntista que possui o maior saldo no momento - ordenaContas - devolve um array das contas que o correntista realmente possui no
momento, ordenado por ordem crescente de saldo. - métodos get.
Consegui isso até agora:
public class ContaDePoupança extends ContaBancaria {
private double saldo;
private double limite;
public ContaDePoupança (int n, double c){
super(n);
this.limite = c;
this.saldo = 0;
}
public void deposita (double valor){
if (valor > 0){
this.saldo += valor;
}
}
public boolean retira(double valor){
double tsaldo;
tsaldo = this.saldo + this.limite;
if (tsaldo >= valor) {
if (saldo >= valor){
saldo = saldo - valor;
} else {
System.out.println("Saldo insuficiente");
}
return true;
} else{
return false;
}
}
public void rendimento(){
int dias;
dias = Teclado.leInt("Digite quanto tempo a conta possui (em dias): ");
if (dias > 30 ) {
saldo = saldo + (saldo * 0.06);
System.out.println("O valor atual é: " + saldo);
} else {
System.out.println("O valor atual é: " + saldo);
}
}
}
public class ContaDePoupança extends ContaBancaria {
private double saldo;
private double limite;
public ContaDePoupança (int n, double c){
super(n);
this.limite = c;
this.saldo = 0;
}
public void deposita (double valor){
if (valor > 0){
this.saldo += valor;
}
}
public boolean retira(double valor){
double tsaldo;
tsaldo = this.saldo + this.limite;
if (tsaldo >= valor) {
if (saldo >= valor){
saldo = saldo - valor;
} else {
System.out.println("Saldo insuficiente");
}
return true;
} else{
return false;
}
}
public void rendimento(){
int dias;
dias = Teclado.leInt("Digite quanto tempo a conta possui (em dias): ");
if (dias > 30 ) {
saldo = saldo + (saldo * 0.06);
System.out.println("O valor atual é: " + saldo);
} else {
System.out.println("O valor atual é: " + saldo);
}
}
}
public class ContaCorrente extends ContaBancaria {
private double saldo;
private double limite;
public ContaCorrente(int n, double c) {
super(n);
this.limite = c;
this.saldo = 0;
}
public void deposita(double valor) {
if (valor > 0) {
this.saldo += valor;
}
}
public boolean retira(double valor) {
double tsaldo;
tsaldo = this.saldo + this.limite;
if (tsaldo >= valor) {
if (saldo >= valor) {
saldo = saldo - valor;
} else {
saldo = 0;
limite = tsaldo - valor;
}
return true;
} else {
return false;
}
}
}
public class ContaCorrente extends ContaBancaria {
private double saldo;
private double limite;
public ContaCorrente(int n, double c) {
super(n);
this.limite = c;
this.saldo = 0;
}
public void deposita(double valor) {
if (valor > 0) {
this.saldo += valor;
}
}
public boolean retira(double valor) {
double tsaldo;
tsaldo = this.saldo + this.limite;
if (tsaldo >= valor) {
if (saldo >= valor) {
saldo = saldo - valor;
} else {
saldo = 0;
limite = tsaldo - valor;
}
return true;
} else {
return false;
}
}
}
Não consigo sair da parte 2. Alguem me ajuda?
Desculpa… sou nova!=p