Tudo bem caros colegas? Preciso de uma ajuda em um erro que não consigo identificar o problema. Na condição em que eu decido realizar um depósito, retorna um erro relacionado a: String index out of range: 0. Porém, não consigo identificar a solução. Agradeço demais qualquer ideia. (resolvi colocar em prática, tudo o que vi até hoje nas aulas)
Aplicação:
package application;
import java.util.Locale;
import java.util.Scanner;
import entities.Clientes;
import entities.Conta;
public class Program {
public static void main(String[] args) {
Locale.setDefault(Locale.US);
Scanner sc = new Scanner(System.in);
Conta novaConta = new Conta();
novaConta.cliente = new Clientes();
System.out.println("ByteBank Alura.");
System.out.println("Insira os dados solicitados.");
System.out.print("Nome: ");
novaConta.cliente.nome = sc.nextLine();
System.out.print("CPF: ");
novaConta.cliente.cpf = sc.nextLine();
System.out.print("Profissão: ");
novaConta.cliente.profissao = sc.nextLine();
System.out.printf("Nome: " + novaConta.cliente.nome + "; CPF: " + novaConta.cliente.cpf + "; Profissão: " + novaConta.cliente.profissao + "; Saldo PROMOCIONAL: R$" + String.format("%.2f", novaConta.saldo));
System.out.println();
System.out.print("Gostaria de realizar um deposito? (s/n) ");
char escolhaDeposito = sc.nextLine().charAt(0);
if(escolhaDeposito == 's' || escolhaDeposito == 'S' ) {
System.out.print("Insira o valor do deposito: ");
novaConta.deposito(sc.nextDouble());
System.out.printf("Nome: " + novaConta.cliente.nome + "; Saldo atual: R$" + String.format("%.2f", novaConta.saldo));
}
System.out.println();
System.out.print("Gostaria de realizar um saque? (s/n) ");
char escolhaSaque = sc.nextLine().charAt(0);
if(escolhaSaque == 's' || escolhaSaque == 'S' ) {
System.out.print("Insira o valor do saque: ");
novaConta.saque(sc.nextDouble());
System.out.printf("Nome: " + novaConta.cliente.nome + "; Saldo atual: R$" + String.format("%.2f", novaConta.saldo));
}else {
System.out.println("O ByteBank Alura, agradece a preferencia.");
}
sc.close();
}
}
Classe Clientes
package entities;
public class Clientes {
public String nome;
public String cpf;
public String profissao;
}
Classe Conta
package entities;
public class Conta {
public double saldo = 100;
public int agencia;
public int numero;
public Clientes cliente = new Clientes();
public void deposito(double valor) {
this.saldo += valor;
}
public void saque(double valor) {
if(this.saldo >= valor) {
this.saldo -= valor;
}else if(this.saldo < valor){
this.saldo -= valor;
System.out.println("Bem vindo ao cheque especial.");
}
}
}