Bom dia sou novato em java fiz o codigo abaixo mas da erro na compilaçao alguem pode me ajudar
import java.util.Scanner;
public class BancoSimples {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double saldo = 0.0;
boolean continuar = true;
while (continuar) {
System.out.println("Menu:");
System.out.println("1: Depositar");
System.out.println("2: Sacar");
System.out.println("3: Consultar Saldo");
System.out.println("0: Encerrar");
System.out.print("Escolha uma opção: ");
int opcao = scanner.nextInt();
switch (opcao) {
case 1:
System.out.print("Digite o valor a ser depositado: ");
double deposito = scanner.nextDouble();
saldo += deposito;
System.out.printf("Saldo atual: %.1f%n", saldo);
break;
case 2:
System.out.print("Digite o valor a ser sacado: ");
double saque = scanner.nextDouble();
if (saque <= saldo) {
saldo -= saque;
System.out.printf("Saldo atual: %.1f%n", saldo);
} else {
System.out.println("Saldo insuficiente.");
}
break;
case 3:
System.out.printf("Saldo atual: %.1f%n", saldo);
break;
case 0:
continuar = false;
System.out.println("Programa encerrado.");
break;
default:
System.out.println("Opção inválida. Tente novamente.");
break;
}
}
scanner.close();
}
}
E como vc está tentando compilar? Qual a mensagem de erro que aparece?
Pois eu copiei seu código e rodou normalmente, então sem saber como vc está tentando compilar e rodar este código (e dar mais detalhes do erro), fica difícil adivinhar a causa do problema.
veja as mensagem de erro
Exception in thread “main” java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at BancoSimples.main(BancoSimples.java:20)
pode ser meu compilador usei eclipse e apresentou esse erro
Main.java:7: error: class SimulacaoBancaria is public, should be declared in a file named SimulacaoBancaria.java
public class SimulacaoBancaria {
Isso não é erro de compilação. O programa compilou e rodou, e ocorreu um erro durante a execução.
Basicamente, esse erro ocorre quando o Scanner
tenta ler algo (no caso, é o nextInt
feito na linha 20 da classe BancoSimples
), mas não há mais dados a serem lidos. Como vc rodou esse programa? Ele mostra a mensagem “Escolha uma opção” e vc chega a digitar algo?
No seu primeiro exemplo a classe se chama BancoSimples
, vc mudou o nome por acaso? Enfim, essa mensagem diz que se a classe é pública, então o nome do arquivo deve ser o mesmo da classe. Basta mudar o nome do arquivo para SimulacaoBancaria.java
, como a própria mensagem de erro diz.
Desculpe e a mesmo programa mas com nones diferentes
import java.util.Scanner;
public class SimulacaoBancaria {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double saldo = 0;
boolean continuar = true;
while (continuar) {
System.out.println("Menu:");
System.out.println("1. Depositar");
System.out.println("2. Sacar");
System.out.println("3. Consultar Saldo");
System.out.println("0. Encerrar");
System.out.print("Escolha uma opção: ");
int opcao = scanner.nextInt();
switch (opcao) {
case 1:
System.out.print("Digite o valor a ser depositado: ");
double deposito = scanner.nextDouble();
saldo += deposito;
System.out.printf("Saldo atual: %.2f\n", saldo);
break;
case 2:
System.out.print("Digite o valor a ser sacado: ");
double saque = scanner.nextDouble();
if (saque <= saldo) {
saldo -= saque;
System.out.printf("Saldo atual: %.2f\n", saldo);
} else {
System.out.println("Saldo insuficiente.");
}
break;
case 3:
System.out.printf("Saldo atual: %.2f\n", saldo);
break;
case 0:
System.out.println("Programa encerrado.");
continuar = false; // Atualiza a variável de controle para encerrar o loop
break;
default:
System.out.println("Opção inválida. Tente novamente.");
}
}
scanner.close();
}
}