Criando e usando um objeto! [RESOLVIDO]

Olá pessoa fiz esses dois procedimentos…

package Dados;

/**
 *
 * @author Stephany
 */
public class Conta {
    
   public int numero;
   public String dono;
   public double saldo;
    public double limite;
      
}

[code]package Procedimentos;

import Dados.Conta;

/**
*

  • @author Stephany
    */
    public class Programa {
    public static void main(String[] args) {
    Conta minhaConta;
    minhaConta = new Conta();

     minhaConta.dono ="Duke";
     minhaConta.saldo = 1000.0;
     
     System.out.println("Saldo atual: "+minhaConta.saldo);
    

    }

}[/code]

PORÉM QUANDO EU VOU EXECUTAR APARECE A SEGUINTE MENSAGEM

run:
Erro: O método principal não foi encontrado na classe Procedimentos.Programa; defina o método principal como:
   public static void main(String[] args)
Java Result: 1

MAS NO PACOTE PROCEDIMENTO E CLASSE PROGRAMA EU COLOQUEI O MÉTODO MAIN…
O QUE SERÁ QUE ESTÁ ERRADO?

como você está executando a classe?

Como assim, Rodrigo?
Por favor peço que tenha paciência pois sou iniciante!
tipo eu executo a classe Programa, onde eu mesmo declarei o método main!

Sim sim, o que eu quero saber é como você está executando a sua classe.

Você está executando ela a partir de uma IDE? (Eclipse, NetBeans, IntelliJ IDEA) ?
Você está compilando via javac e executando via java em linhas de comando?
Você criou um arquivo jar e está tentando executá-lo ?

Eu uso Netbeans

Ai quando eu vou sacar e depositar o Saldo não muda… Continua 1000.0 REAIS.
sendo que eu dei o valor de 200 para sacar e 500 para depositar.

package Dados;

/**
 *
 * @author Stephany
 */
public class Conta {
    
   public int numero;
   public String dono;
   public double saldo;
    public double limite;
    public int Saca;
   public int Deposita;      
}

obs: adicionei as variáveis Saca e Deposita

package Procedimentos;

import Dados.Conta;

/**
 *
 * @author Stephany
 */
public class Programa {
    public static void main(String[] args) {
        Conta minhaConta;
        minhaConta = new Conta();
        
        minhaConta.dono ="Duke";
        minhaConta.saldo = 1000.0;
        
        // saca 200 reais
        minhaConta.Saca = 200;
        
        minhaConta.Deposita =500;
      
        
        System.out.println("Saldo atual: "+minhaConta.saldo);
        
    }
    
}

Acho que estou fazendo uma confusão rsrs
me ajudem??? :cry:

Ué, peraí… Sua classe está sendo executada? Eu achei que estava com problemas.

NA PRIMEIRA QUE EU TE MANDEI, NÃO EXECUTA…
MAS QUANDO EU ADICIONO OS VALORES DE SACA E DEPOSITA ELE COMPILA NORMAL…

TA MUITO CONFUSO ISSO…

TEM ALGUMA COISA ERRADA E NÃO SEI O QUE É!

AGORA EXECUTO…
MAS EU CONTINUO COM O PROBLEMA DE ELE NÃO TIRAR 200 E DEPOSITAR 500

O QUE PODE SER?

Acontece que você está mexendo com atributos quando deveria utilizar métodos.

métodos dão comportamento à sua classe, no caso, manipulam o saldo. A sua classe conta não deve ter atributos saca e deposita, e sim métodos sacar() e depositar(). Veja:[code]class Conta{

private double saldo;

public void sacar(double valor){
	this.saldo = saldo - valor;
}

public void depositar(double valor){
	this.saldo = saldo + valor;
}

public double consultarSaldo(){
	return saldo;
}

}[/code]Se você quiser sacar um valor da conta, invoca o método sacar e ele manipulará o saldo. O mesmo para depositar.

Fez sentido?

Então ficaria asssim???

package Dados;

/**
 *
 * @author Stephany
 */
public class Conta {
    
   public int numero;
   public String dono;
   public double saldo;
    public double limite;
    public int Saca;
    public int Deposita;
    
    public void saca (double valor) {
        this.saldo = 1000 - 200;  
    }
    public void depositar (double valor){
    this.saldo = 1000 + 500;
     }
    public double consultarSaldo() {
    return saldo;
    }
}

Fiz assim como te mandei e não mudou o valor também…
Esse THIS serve para que?

Entendi algumas partes apenas!

Não, a ideia é você simplesmente usar os métodos da conta. assim:[code] public static void main(String[] args){
Conta conta = new Conta();

	conta.depositar(1000);
	conta.sacar(500);
	System.out.println("O saldo da conta é: "+conta.consultarSaldo());
	
}[/code]

Estou estudando pela apostila da Caelum e apenas está assim:

 class TestaAlgunsMetodos {
public static void main(String[] args) {
 // criando a conta
 Conta minhaConta;
 minhaConta = new Conta();
 // alterando os valores de minhaConta
˜ minhaConta.dono = "Duke";
 minhaConta.saldo = 1000;
 // saca 200 reais
 minhaConta.saca(200);
// deposita 500 reais
minhaConta.deposita(500);
 System.out.println(minhaConta.saldo);
 }
˜ }

[quote=stephany_13]Estou estudando pela apostila da Caelum e apenas está assim:

[code]
class TestaAlgunsMetodos {
public static void main(String[] args) {
// criando a conta
Conta minhaConta;
minhaConta = new Conta();
// alterando os valores de minhaConta
� minhaConta.dono = “Duke”;
minhaConta.saldo = 1000;
// saca 200 reais
minhaConta.saca(200);
// deposita 500 reais
minhaConta.deposita(500);
System.out.println(minhaConta.saldo);
}
� }

[/code][/quote]
Não entendi o que você quis dizer com isso.

Mas perai, preciso fazer as variáveis sacar e depositar? Ou só métodos mesmo?
Pois aqui eu coloquei as variáveis com os mesmo nomes dos métodos, agora ficou mais confuso rs
:shock:

[quote=stephany_13]Mas perai, preciso fazer as variáveis sacar e depositar? Ou só métodos mesmo?
Pois aqui eu coloquei as variáveis com os mesmo nomes dos métodos, agora ficou mais confuso rs
:shock: [/quote]
Não, as variáveis sacar e depositar não devem existir.

Você tem o TeamViewer ai?
quer entrar no meu pc pra ver ± o que eu estou fazendo?
só assim mesmo pra mim entender rs
se vc não estiver ocupado é claro!

[quote=stephany_13]Você tem o TeamViewer ai?
quer entrar no meu pc pra ver ± o que eu estou fazendo?
só assim mesmo pra mim entender rs
se vc não estiver ocupado é claro![/quote]
Agora não tenho como não, mas você está no caminho certo. Exclua as 2 variáveis, porque elas não devem existir. E se tiver mais alguma dúvida pode perguntar aqui que não tem problema.

OK.

Ta dando esse erro.
run:
Exception in thread “main” java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: Dados.Conta.saca
at Procedimentos.Programa.main(Programa.java:21)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

veja se não é o tipo de dado que está diferente, coloque todos como int ou todos como double

Não seria mais fácil simplesmente copiar o exemplo da apostila pra estudar?