Cria uma classe para representar uma conta corrente que
possui um número, um saldo, um status que informa se ela é
especial ou não e um limite. Desenvolva métodos para realizar
saque (verificando se o cliente pode realizar saques), depositar
dinheiro, consultar saldo e verificar se o cliente está usando
cheque especial ou não. Desenvolva um programa para testar
essa classe.
Cria uma classe para representar uma conta corrente que possui um número, um saldo, um status que informa se ela é especial ou não e um limite. Desenvolva métodos para realizar saque (verificando se o cliente pode realizar saques), depositar dinheiro, consultar saldo e verificar se o cliente está usando cheque especial ou não. Desenvolva um programa para testar essa classe.
Regras.java
public class Regras {
private boolean ligada = true;
// Métodos acessores e modificadores
public void setNumero(boolean alteraNumero){
if(isNumero() != alteraNumero)
this.numero = alteraNumero;
}
public void setLimite(boolean alteraLimite){
if(isLimite() != alteraLimite)
this.limite = alteraLimite;
}
public void setStatus(boolean alteraStatus){
if(isStatus() != alteraStatus)
this.status = alteraStatus;
}
public void setChequeespecial(boolean alteraChequeespecia){
if(isChequeespecia() != alteraChequeespecia)
this.chequeespecia = alteraChequeespecia;
}
public void setDeposito(boolean alteraDeposito){
if(isDeposito() != alteraDeposito)
this.deposito = alteraDeposito;
}
public boolean isLimite(){
return limite;
}
public boolean isStatus(){
return status;
}
public boolean isChequeespecial(){
return chequeespecial;
}
public boolean isDeposito(){
return deposito;
}
public boolean isNumero(){
return numero;
}
}
import java.util.Scanner;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
case "numero":
System.out.println(" Conta possui Numero : " + numero);
this.numero = sc.nextInt();
break;
case "saldo"
System.out.println(" Conta possui Saldo : " + saldo);
this.informarMatricula = saldo;
matricula = sc.nextInt();:
break;
case "status":
System.out.println(" Conta possui Status : " + status);
this.status = sc.nextInt();
break;
case "chequeespecial":
System.out.println(" Conta possui Cheque Especial : " + chequeespecial);
this.chequeespecial = sc.nextInt();
break;
case "limite":
System.out.println(" Conta possui Limite : " + limite);
this.limite = sc.nextInt();
break;
case "deposito":
System.out.println(" Conta possui Deposito : " + deposito);
this.deposito = sc.nextInt();
break;
}
não tem classe. E você está colocando métodos e construtores dentro do public static void main, não é correto (até pq nao funciona).
vc teria que fazer:
private void teste(){}
ou
private static void testeStatic(){}
public static void main......{
Classe classe = new Classe();
classe.teste();
//ou
testeStatic();
}
Ainda está faltando algumas variaveis que vc deveria ter colocado nessa classe, mas seria basicamente isso:
public class ContaCorrente {
String comando;
Scanner sc = new Scanner(System.in);
public ContaCorrente(int numero, double saldo, String status, String deposito, String chequeespecial, double saque) {
switch (comando) {
case "numero":
System.out.println(" Conta possui Numero : " + numero);
this.numero = sc.nextInt();
break;
case "saldo":
System.out.println(" Conta possui Saldo : " + saldo);
this.informarMatricula = saldo;
matricula = sc.nextInt();
break;
case "status":
System.out.println(" Conta possui Status : " + status);
this.status = sc.nextInt();
break;
case "chequeespecial":
System.out.println(" Conta possui Cheque Especial : " + chequeespecial);
this.chequeespecial = sc.nextInt();
break;
case "limite":
System.out.println(" Conta possui Limite : " + limite);
this.limite = sc.nextInt();
break;
case "deposito":
System.out.println(" Conta possui Deposito : " + deposito);
this.deposito = sc.nextInt();
break;
}
}
}
import java.util.HashMap;
import java.util.Scanner;
import java.io.Console;
import java.lang.Exception;
import java.io.PrintStream;
public class Main{
static HashMap<Integer, ContaCorrente> contas = new HashMap<Integer, ContaCorrente>();
public static void main(String[] args) {
while(true){
switch(menuPrincipal()){
case 1:
criarConta();
break;
case 2:
extrato();
break;
case 3:
saque();
break;
case 4:
deposito();
break;
case 5:
return;
}
}
}
public static void deposito(){
int numero;
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("Digite o número da conta:\n");
numero = sc.nextInt();
if (contas.containsKey(numero)) {
System.out.println("Qual o valor do depósito: \n");
if (contas.get(numero).deposito(sc.nextFloat())) return;
System.out.println("O valor ultrapassa o limite.\n");
break;
}
}
}
public static void saque(){
int numero;
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("Digite o número da conta:\n");
numero = sc.nextInt();
if (contas.containsKey(numero)) {
System.out.println("Qual o valor do saque: \n");
if (contas.get(numero).saque(sc.nextFloat())) return;
System.out.println("Valor indisponível.\n");
break;
}
}
}
public static void extrato(){
int numero;
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("Digite o número da conta:\n");
numero = sc.nextInt();
if (contas.containsKey(numero)) {
System.out.println("Saldo: " + contas.get(numero) .getSaldo() + "\n");
System.out.println("Limite: " + contas.get(numero) .getLimte() + "\n");
System.out.println("Conta especial: " + contas.get(numero).getStatus() + "\n");
break;
}
}
}
public static void criarConta(){
int numero;
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("Digite o número da nova conta:\n");
numero = sc.nextInt();
if (contas.containsKey(numero)) System.out.println("Já existe uma conta com esse número!\n");
else break;
}
System.out.println("Estabeleça o limite para nova conta:\n");
float limite = sc.nextFloat();
System.out.println("Estabeleça o saldo para nova conta:\n");
float saldo = sc.nextFloat();
System.out.println("A conta usará cheque especial:\n");
boolean status = sc.next().toLowerCase().equalsIgnoreCase("s");
contas.put(numero, new ContaCorrente(numero, saldo, status, limite));
}
public static int menuPrincipal(){
String command = "Digite o código da operação:\n" + "1 - Criar conta\n" + "2 - Tirar o extrato\n"+ "3 - Fazer saque\n"+ "4 - Efetuar depósito\n"+ "5 - Sair";
System.out.printlnln(command);
int result = sc.nextInt();
return result;
}
}
class ContaCorrente{
private int inumero;
private float isaldo, ilimite;
private boolean istatus;
public int getNumero(){
return inumero;
}
public float getSaldo(){
return isaldo;
}
public boolean getStatus(){
return istatus;
}
public float getLimte(){
return ilimite;
}
public boolean saque(float valor){
if (isaldo - valor < 0) return false;
isaldo -= valor;
return true;
}
public boolean deposito(float valor){
if (isaldo - valor < ilimite) return false;
isaldo += valor;
return true;
}
public ContaCorrente(int numero, float saldo, boolean status, float limite){
inumero = numero;
isaldo = saldo;
istatus = status;
ilimite = limite;
}
}
Mas apresenta esses erros
Main.java:100: error: cannot find symbol
System.out.printlnln(command);
^
symbol: method printlnln(String)
location: variable out of type PrintStream
Main.java:101: error: cannot find symbol
int result = sc.nextInt();
^
symbol: variable sc
location: class Main
2 errors