Como posso resolver esse exercício?

  1. 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.

Ainda não tenho nenhuma ideia :confused:

@111aaa, não sei como esse exercício poderia ser mais claro. O que posso te indicar, vendo a sua dificuldade, são alguns tópicos a serem estudados.

  1. Como criar uma classe em Java?
  2. O que são atributos em Java?
  3. O que são métodos em Java?
2 curtidas

Após estudar o que o colega indicou você deve modelar as classes, verificar se pode ser útil o conceito de herança, fazer o exercício e ser feliz. :slight_smile:

1 curtida

Massa :smiley:

Show :smiley:

Já fiz, mas há erro

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);

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;

     }

}

}

qual erro dá?

Cara, quem te falou que IDE não auxilia o iniciante??? Vc não vai deixar de aprender se usar alguma, o que não dá é fazer tudo isso no bloco de notas…

1 curtida

Regras
error: cannot find symbol

qual simbolo??? O erro não é só esse…

1 curtida

symbol: variable chequeespecial
location: class Regras

11 errors

Classe Regras

Estão faltando as variáveis:

numero
status
limite
chequeespecial
deposito

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;

        }
    }
}

Volto a dizer, use uma IDE.

1 curtida

Com essas informações, poderei melhorar e corrigir alguns erros. :smiley:

Agradeço pelas informações.

Estou tentando fazer assim


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