Conta Corrente JAVA

Fala Pessoal!

Segue anunciado e abaixo meu código, netbeans não roda o codigo, acredito que seja erro no boolean, mas não sei qual.

A classe possui o atributo saldo do tipo float e os métodos
definirSaldoInicial, depositar e sacar.
– O método definirSaldoInicial deve atribuir o valor passado por
parâmetro ao atributo saldo
– O método depositar, deve adicionar o valor passado por parâmetro ao
atributo saldo
– O método sacar deve reduzir o valor passado por parâmetro do salto já
existente
• Perceba que é necessário verificar a condição de o valor do saldo ser insuficiente
para o saque que se deseja fazer.
• O valor de retorno deve ser true (verdadeiro) quando for possível realizar o saque e false (falso) quando não for possível
Continuação …
– Crie uma classe TestarContaCorrente que possua o método
main. Realize as seguintes operações:
• Crie um objeto novaConta do tipo ContaCorrente.
• Chame o método definirSaldoInicial passando o valor 1000 como
parâmetro.
• Escreva o valor do atributo saldo
• Realize um saque de 500 reais (utilize o método sacar).
• Faça um depósito de 50 reais (utilize o método depositar)
• Escreva o valor do atributo saldo na tela.
• Realize um saque de 600 reais.
• Escreva o valor do atributo saldo na tela.

Screenshot_1

AQUI ESTA CODIGO

float saldo;


void definaSaldoInicial(float valor) {
     saldo = saldo + valor;
}
void depositar(float valor) {
saldo = saldo + valor;
   System.out.println ("Seu deposito foi: "+valor);}


boolean sacar (float valor){
    saldo = saldo - valor;

    if(saldo>valor){                  
    
     System.out.println("Seu saque foi: "+valor);
      return true;
    }
	
    else {
     System.out.println("Você não tem saldo");

     return false;
    }

}

AQUI ESTA O MAIN

public static void main(String[] args) {
    ContaCorrente novaConta;
    novaConta = new ContaCorrente ();
    novaConta.saldo = 0;
    System.out.println("Seu saldo inicial é: "+novaConta.saldo);
    novaConta.definaSaldoInicial(1000);
    System.out.println("Seu novo saldo é: "+novaConta.saldo);
    novaConta.sacar(500);
    System.out.println("Seu novo saldo é: "+novaConta.saldo);
    novaConta.depositar(50);
    System.out.println("Seu novo saldo é: "+novaConta.saldo);
    novaConta.sacar(600);
    System.out.println("Seu novo saldo é: "+novaConta.saldo);
   
    
}

Mude para

if (saldo >= valor) {

Além disso, mova o “saldo = saldo - valor” para depois do if acima; senão você vai tirar mesmo não tendo testado o saldo disponível.

Não tenho como testar agora. Se der erro de novo, posta aqui qual foi o erro.

E seja muito bem vindo ao fórum!

1 curtida

Obrigado pelas boas vindas!

Segue o erro:

run:
Seu saldo inicial é: 0.0
Seu novo saldo é: 1000.0
Exception in thread “main” java.lang.NoSuchMethodError: ‘void contacorrente.ContaCorrente.sacar(float)’
at contacorrente.testarContaCorrente.main(testarContaCorrente.java:21)
C:\Users\Documents\NetBeansProjects\ContaCorrente\nbproject\build-impl.xml:1330: The following error occurred while executing this line:
C:\Users\Documents\NetBeansProjects\ContaCorrente\nbproject\build-impl.xml:936: Java returned: 1
BUILD FAILED (total time: 0 seconds)

Você não salvou o primeiro código num arquivo .java na mesma pasta?

O primeiro código que você postou precisa estar no ContaCorrente.java

E como está o construtor dele?

1 curtida

Sim, ta salvo como ContaCorrente.java

O codigo funciona sem o boolean! acredito que devo estar errado o boolean,

meu main não chama o boolean, só chama o metodo sacar, pode ser isso?

public static void main(String[] args) {
ContaCorrente novaConta;
novaConta = new ContaCorrente ();
novaConta.saldo = 0;
System.out.println("Seu saldo inicial é: "+novaConta.saldo);
novaConta.definaSaldoInicial(1000);
System.out.println("Seu novo saldo é: "+novaConta.saldo);
novaConta.sacar(500);
System.out.println("Seu novo saldo é: "+novaConta.saldo);
novaConta.depositar(50);
System.out.println("Seu novo saldo é: "+novaConta.saldo);
novaConta.sacar(600);
System.out.println("Seu novo saldo é: "+novaConta.saldo);