Acredito que pode fica mais organizado.
import java.math.BigDecimal;
import java.util.Scanner;
public class desafio {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String name = "Roberto Tadeu";
String accoutType = "Corrente";
BigDecimal value = BigDecimal.valueOf(2500);
String message = """
**********************************
Dados iniciais do cliente:
Nome: %s
Tipo de conta: %s
Saldo inicial: R$%.2f
**********************************
""".formatted(name, accoutType, value);
String menu = """
Operações
1- Consultar saldos
2- Receber valor
3- Transferir valor
4- Sair
Digite a opção desejada:
""";
System.out.println(message);
int consult = 0;
while (consult != 4) {
System.out.println(menu);
int options = input.nextInt();
switch (options) {
case 1:
System.out.println("Seu saldo e de R$" + value + ".");
break;
case 2:
System.out.println("Quanto você esta recebendo?");
BigDecimal received = input.nextBigDecimal();
if (received.intValue() < 0) {
System.out.println("Apenas numeros positivos pfv!");
} else {
value = receivedFunc(received, value);
System.out.println("Seu saldo e de R$" + value);
}
break;
case 3:
System.out.println("Quanto você esta transferindo?");
BigDecimal transfer = input.nextBigDecimal();
value = transffunc(transfer, value);
System.out.println("Seu saldo e de R$" + value);
break;
case 4:
System.out.println("Ate logo!");
consult = 4;
break;
default:
System.out.println("Escolha uma opção entre 1 e 4!");
}
}
}
public static BigDecimal receivedFunc(BigDecimal received, BigDecimal value) {
return received.add(value);
}
public static BigDecimal transffunc(BigDecimal transfer, BigDecimal value) {
return value.subtract(transfer);
}
}