Código java POO

Eu gostaria de um código para criar conta de um banco onde tive uma classe Cliente (nome, idade, endereço, trabalho, salário mensal, número de conta, com saldo, saque, deposito e um gerente que possa ver o saldo dos clientes.

Tenho um código exemplo mais da erro na hora que roda:

package com.fpb.itau;

import java.util.Scanner;

class Cliente {

	String nome, endereco, emprego;
	int idade, numero_conta = 280509;
	double salario_mensal, saldo = 0;

	void inserir_saldo(double salario_mensal) {

		this.saldo = this.salario_mensal;

	}

}

class Conta {

	String nome_cliente;
	int numero_conta;
	double saldo_conta = 0, limite = 0, saque = 0, deposito = 0;

	void saquar() {
		Scanner informado = new Scanner(System.in);
		System.out.println("Informe o  valor do seu saque R$: ");
		saque = informado.nextDouble();
	}

	void saque(double saldo) {

		this.saldo_conta -= this.saque;

	}

	void depositar() {
		Scanner informado = new Scanner(System.in);

		System.out.println("Informe o valor do deposito R$: ");
		deposito = informado.nextDouble();
	}

	void deposito(double saldo) {

		this.saldo_conta += this.deposito;

	}

	void saldototal(double saldo) {

		this.saldo_conta += this.limite;
	}

	void extrato() {

		System.out.println("Seu saldo é R$: " + saldo_conta);
		System.out.println("Seu limite é R$: " + limite);
		System.out.println("Seu Saldo Total é R$: " + saldo_conta);
	}

}

class Gerente {

	String nome = "Teste", endereco = "Teste2", agencia = "Teste3", emprego, salario_mensal;
	int idade = 35;
	double saldo, limite;

	void dadosaldo() {

		System.out.println("Saldo do cliente " + this.saldo + " limite e de  " + limite);

	}

	void tipo(double salario_mensal) {

		if (salario_mensal >= 1200 && salario_mensal <= 2450) {

			this.limite = 2450;

		} else if (salario_mensal >= 2455 && salario_mensal <= 3500) {

			this.limite = 3500;
		} else if (salario_mensal > 3500) {

			this.limite = 7000;
		}

	}

	void imprimir() {

		Cliente cliente_1 = new Cliente();
		Gerente gerente_1 = new Gerente();

		System.out.println("Informações do cliente consultado");
		System.out.println("Nome: " + this.nome);
		System.out.println("Endereço: " + this.endereco);
		System.out.println("Idade: " + this.idade);
		System.out.println("Emprego: " + this.emprego);
		System.out.println("Salario mensal: " + this.salario_mensal);
		System.out.println("Numero da conta: " + cliente_1.numero_conta);
		System.out.println("===== Dados Gerente =====");
		System.out.println("Nome: " + gerente_1.nome);
		System.out.println("Endereço: " + gerente_1.endereco);
		System.out.println("Agencia: " + gerente_1.agencia);

	}

	public static void main(String[] args) {
		Cliente cliente_1 = new Cliente();
		Scanner informado = new Scanner(System.in);
		Conta conta_1 = new Conta();
		Gerente gerente_1 = new Gerente();

		System.out.println("Qual seu nome: ");
		cliente_1.nome = informado.next();

		System.out.println("Qual seu endereço: ");
		cliente_1.endereco = informado.next();

		System.out.println("Qual seu Emprego: ");
		cliente_1.emprego = informado.next();

		System.out.println("Qual sua idade: ");
		cliente_1.idade = informado.nextInt();

		System.out.println("Qual seu salario mensal: ");
		cliente_1.salario_mensal = informado.nextDouble();

		conta_1.saquar();
		conta_1.saque(conta_1.saque);

		conta_1.depositar();
		conta_1.deposito(conta_1.deposito);
		conta_1.saldototal(conta_1.saldo_conta);
		conta_1.extrato();

		gerente_1.dadosaldo();
		gerente_1.tipo(cliente_1.salario_mensal);

		gerente_1.imprimir();

	}
}
1 curtida

Q erro?

Não está copilando.
The selection cannot be launched, and there are no recent launches.

Tá, mas cade seu main? Esse erro dá quando a assinatura do main está incorreta, geralmente.

1 curtida

vc esta usando uma IDE certo?

consegue tirar um printscreen da tela?

eu acho q vc esta tentando executar a classe errada…

Também acho, mas eu não consegui resolver.

Certo, mostre seu main.

public class Cliente {

public static void main(String[] args) {
Cliente cliente_1 = new Cliente();
Scanner informado = new Scanner(System.in);
Conta conta_1 = new Conta();
Gerente gerente_1 = new Gerente();

System.out.println("Qual seu nome: ");
cliente_1.nome = informado.next();

System.out.println("Qual seu endereço: ");
cliente_1.endereco = informado.next();

System.out.println("Qual seu Emprego: ");
cliente_1.emprego = informado.next();

System.out.println("Qual sua idade: ");
cliente_1.idade = informado.nextInt();

System.out.println("Qual seu salario mensal: ");
cliente_1.salario_mensal = informado.nextDouble();

conta_1.saquar();
conta_1.saque(conta_1.saque);

conta_1.depositar();
conta_1.deposito(conta_1.deposito);
conta_1.saldototal(conta_1.saldo_conta);
conta_1.extrato();

gerente_1.dadosaldo();
gerente_1.tipo(cliente_1.salario_mensal);

gerente_1.imprimir();

}

}
}

Vamos la

Existem alguns problemas na sua abordagem

a primeira é colocar diversas classes num mesmo arquivo. O ideal é vc tenha no maximo uma classe publica por arquivo e que o nome do arquivo coincida com o nome dessa classe.

Assim se o arquivo se chama Client, é esperado que exista uma classe Client publica e é nessa classe que deve conter o ‘main’ SE vc quiser executar.

As demais classes não podem ser publicas. Se elas precisam ser publicas então necessitam ser mantidam em arquivos diferentes.

Eu posso ter cometido aqui alguma imprecisão, mas quando vc começa a programar a visibilidade das classes é algo irrelevante (a menos que seja exigido pelo exercicio). Então o ideal seria vc ter uma classe publica por arquivo, nome coincidindo, todas publicas para que nenhuma restrição nesse tipo de coisa te atrapalhe.

Veja, vc quer EXECUTAR um codigo. este deve ser o seu foco. Aqui tem uma receita de bolo para EXECUTAR.

para entender ai vc precisa entrar na especificação da linguagem.

o que eu errei aqui, pessoal, é só apontar

1 curtida

Obrigado