Metodo Caelum

6 respostas
P

Ola colegas, estou com um problema bem novato aqui, acredito que seja algo simples, porem como estou seguindo a apostila nao consegui achar nenhuma pagina que pudesse me ajudar :T

o problema eh o seguinte,

tenho essa classe seguida de metodos:

class Conta{

int numero;

String nome;

double saldo;

double limite;

/<em>inicio de um outro metodo, a variavel dele morre no fim

por isso pode se usar do mesmo nome da variavel</em>/

void saca(double quantidade){

double novoSaldo = this.saldo - quantidade;

this.saldo=novoSaldo;

}
/*novo metodo +=quantidade significa que ele aparecera como numero positivo*/
void deposita (double quantidade){
    this.saldo +=quantidade;
}

}

depois, tenho esse codigo de programa:

class SacaeDeposita{

public static void main(String[] args){

Conta minhaconta;

minhaconta = new Conta();
minhaconta.nome="Titular da conta";
    minhaconta.saldo=1000;
    
    minhaconta.saca(500);
    
    minhaconta.deposita(200);
    
    System.out.println(minhaconta.saldo);
    
}

}

sempre que tenteo executar da esse erro:

Compiling 1 source file to C:\Documents and Settings\pehrson\Meus documentos\NetBeansProjects\JavaApplication5\build\classes

C:\Documents and Settings\pehrson\Meus documentos\NetBeansProjects\JavaApplication5\src\javaapplication5\teste.java:9: cannot find symbol

symbol  : method saca(int)

location: class Conta

minhaconta.saca(500);

C:\Documents and Settings\pehrson\Meus documentos\NetBeansProjects\JavaApplication5\src\javaapplication5\teste.java:11: cannot find symbol

symbol  : method deposita(int)

location: class Conta

minhaconta.deposita(200);

2 errors

nao entendo o motivo do erro,
ja tentei mudar os metodos de double para int e nao foi, serie necessario fazer um casting antes de invocar o metodo ?

valeu obrigado :smiley:

6 Respostas

S

pedro

Testei aqui e sua classe funciona normalmente.
Verifica o nome que vc atribuiu ao arquivo, ele tem q ser obrigatoriamente o mesmo que sua classe
que contem o public static void main(String[] args), ou seja:

SacaeDeposita

e tem que obedecer a sequencia que você definiu la tbm de CAIXA ALTA e caixa baixa, o a linguagem JAVA é
CaseSensitive.

aix

Acredito que é porque as suas classes como não possuem um modifcador de acesso(public por exemplo) e estão em diretorios diferentes não estejam se enchergando, tenta colocando public na frente da declaração da classe ex: public class Conta

P

Tem que ser o nome identico mesmo ?
nao sabia dessa nao, mas isso soh serve entao qnd vou puxar de outro aqruivo certo ?

se forem tudo no mesmo arquivo nao tem necessidade? ou tem ?
ontem tava indo normalmente sem trocar o nome mas eram exercicios simpels :S

valeu

GabrielCorpse

Apenas dei uma rápida olhada no código, aqui funcionou tranquilamento com resultado de 700.00.
Crie um novo projeto, em seguida uma nova classe com o nome Conta e cole o código, faça o mesmo com a outra classe, tudo no mesmo pacote.
Fiz isso aqui no Eclipse e funcionou tranquilamente.

[]'s

Fabio_Kym_Nascimento

Aproveita que você teve esse problema e começe a utilizar boas práticas como:

1. Sempre utilizar o mesmo nome para classe e arquivo, exemplo:

class MinhaClasse {

}

arquivo MinhaClasse.java

2. Seguindo a idéia acima sempre tenha um arquivo para cada classe e procure organizar suas classes em pacotes.

Boa sorte!

S

Para facilitar vc resolver sua duvida, de uma olhada na apostila da CAELUM FJ-11.
Disponivel em http://www.caelum.com.br/apostila-java-orientacao-objetos/
Na página 9 eles ja tratam seu problema, abordando de forma clara e simples.

Boa Sorte.

Criado 5 de outubro de 2008
Ultima resposta 5 de out. de 2008
Respostas 6
Participantes 5