Olá pessoal. Até aqui me virei pesquisando no forum. Mas agora travei visto nada ter achado sobre o novo erro (de inistalóide claro - iniciante + bestalóide hehehe).
Bom to seguindo a apostila da caelum no cap 4 pag 32 (java - orientação a objetos).
Ele sugere na apostila pra criar o Programa.java e o Conta.class. O primeiro arq. faz operações em uma conta bancaria e o seguinte (que diz como é feito ) tem as classes ou metodos sei la (it still confuses me guys).
Bom, qdo dou javac Programa.java
retorna:
Programa.java:3: cannot acess Conta
bad class file: .\Conta.class
ilegal start of class file
Abaixo o codigo Programa.java
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);
minhaConta.saca(200);
minhaConta.deposita(500);
System.out.println(minhaConta.saldo);
}
}
Cara… o código esta rodando aqui na minha maquina… Estranho…
Talvez voce esteja rodando não a classe que contenha a Main… mas sim a classe Conta…
Ja tentou rodar a Main?
Hey spitfire!
obrigado cara mas realmente continua dando erro mesmo rodando o main c via javac
alem das messagens de erro do prompt que eu citei no post anterior ainda aparece:
please remove or make sure it appears in the correct subdirectory of the classpath
Conta minhaConta
^ :shock:.
So pra lembrar eu estou em:
C:Projeto conta>javac Program.java
[quote=rafaelczy]Hey spitfire!
obrigado cara mas realmente continua dando erro mesmo rodando o main c via javac
alem das messagens de erro do prompt que eu citei no post anterior ainda aparece:
please remove or make sure it appears in the correct subdirectory of the classpath
Conta minhaConta
^ :shock:.
So pra lembrar eu estou em:
C:Projeto conta>javac Program.java[/quote]
Bom se for isso ta resolvido é só colocar o nome da classe correto “Programa.java”
o javac é o compilador, para rodar é só digitar java Programa.class (se não me engano - faz 3 anos que eu não rodo mais assim ), mas tem que compilar as duas classes.
spitfire:
Qdo dou javac Programa.java
o prompt retorna:
Programa.java:3: cannot acess Conta
bad class file: .\Conta.class
ilegal start of class file
Please remove or make it appears in the correct subdirectory of the classpath
Qdo dou javac Conta.class o prompt retorna:
javac: invalid flag: Conta.class
usage: javac
use -help for a list of possible options
Henriqueluz:
Cara creio que to importando a Conta.class la no principal sim (Programa.java) . Pode conferir pra mi se estou certo olhando no post inicial onde botei os dois codigos?
[quote=henriqueluz]Quando você postou o código da classe Programa não tem nenhum import aparecendo.
Cola o arquivo todo aí.
ou então coloque:
package nomeDoSeuPacote;
Caso estejam no mesmo pacote(pasta).
ou caso não estejam:
import nomeDoSeuPacote.Conta;
Abs,[/quote]
Bom Henrique, o que postei lá em cima é o código inteiro (tanto do “Programa.java” qto do “Conta.class”)
Os dois estão dentro da pasta C:\Projeto conta
Sendo assim creio que devo operar a solução 1 que vc citou mas não entendi o seguinte:
package nomeDoMeuPacote;
não sei que nome ponho.
Além disso coloco o “package” logo após declarar:
public static void main (String[] args) {
package nomeDoMeuPacote; ...}
[quote=rafaelczy]spitfire:
Qdo dou javac Programa.java
o prompt retorna:
Programa.java:3: cannot acess Conta
bad class file: .\Conta.class
ilegal start of class file
Please remove or make it appears in the correct subdirectory of the classpath
Qdo dou javac Conta.class o prompt retorna:
javac: invalid flag: Conta.class
usage: javac
use -help for a list of possible options
Henriqueluz:
Cara creio que to importando a Conta.class la no principal sim (Programa.java) . Pode conferir pra mi se estou certo olhando no post inicial onde botei os dois codigos?
thank’s all[/quote]
cara nao se da Javac em .class só em .java
[quote=denisspitfire][quote=rafaelczy]spitfire:
Qdo dou javac Programa.java
o prompt retorna:
Programa.java:3: cannot acess Conta
bad class file: .\Conta.class
ilegal start of class file
Please remove or make it appears in the correct subdirectory of the classpath
Qdo dou javac Conta.class o prompt retorna:
javac: invalid flag: Conta.class
usage: javac
use -help for a list of possible options
Henriqueluz:
Cara creio que to importando a Conta.class la no principal sim (Programa.java) . Pode conferir pra mi se estou certo olhando no post inicial onde botei os dois codigos?
thank’s all[/quote]
cara nao se da Javac em .class só em .java[/quote]
Bom eu tb acha isso mas só fiz (meio sem crer) pq o Rodrigocolasso sugeriu algo assim mais pra cima. :roll:
[quote=rafaelczy][quote=henriqueluz]Quando você postou o código da classe Programa não tem nenhum import aparecendo.
Cola o arquivo todo aí.
ou então coloque:
package nomeDoSeuPacote;
Caso estejam no mesmo pacote(pasta).
ou caso não estejam:
import nomeDoSeuPacote.Conta;
Abs,[/quote]
Bom Henrique, o que postei lá em cima é o código inteiro (tanto do “Programa.java” qto do “Conta.class”)
Os dois estão dentro da pasta C:\Projeto conta
Sendo assim creio que devo operar a solução 1 que vc citou mas não entendi o seguinte:
package nomeDoMeuPacote;
não sei que nome ponho.
Além disso coloco o “package” logo após declarar:
public static void main (String[] args) {
package nomeDoMeuPacote; ...}
? certo?[/quote]
Pessoal continuo travado aqui!! alguém pode me ajudar a importar o meu pacote (não sei como escrever o nome dele e nem em que linha do arquivo.java colocar) conforme a minha dificuldade descrita ai em cima? Valeu !
Tá errado, a instrução package deve ser a primeira linha do código.
Faz isso ai![/quote]
Certo, coloco na primeira linha de código do arquivo “programa.java” mas e o nome do pacote? Suponho que é algo que eu tenho declarado em “Conta.class”, mas ainda não sei que nome colocar. olhando meu código tu pode me dizer?
thank’s friend!
Bom pessoal, recebi uma dica de que o erro poderia ser pelo fato de que a pasta que tem meus dois arquivos ser nomeada como:
C:\Projeto Conta
O Problema é que dentro dela tem os dois arquivos que criei e um deles (.class) parece ter algun conflito de nome com o nome da pasta.
Dentro dela são os arquivos seguintes:
Programa.java
Conta.class
dai mudei o nome da pasta pra C:\Projeto bancario
Agora quando eu tento compilar via javac o “Programa.java” retorna o erro:
cannot access Conta: .\Conta.class
ilegal start of class.file
Please remove or make sure it appears in the correct subdirectory of the classpath
Segue ai os dois arquivos de novo
Programa.java
Aqui o Conta.class
à propósito: O Henrriqueluz tinha dito pra mim que o problema era que eu nao tinha importado o pacote correto no “Programa.java”.
Recebi outra informação de nada disso era necessário porque os dois únicos arquivos do projeto já estão dentro da mesma pasta.
Poisé rafael. O problema é que muitos aqui, e eu me incluo, se utilizam de IDE e quase nunca compilam na “mão” e acabamos por perder esse conhecimento, já que a IDE se responsabiliza por gerenciar seus pacotes/pastas, compilar e rodar suas classes corretamente.
Vou dá uma pesquisada sobre isso e assim que souber algo posto aqui pra você.
Sua colocação Henrrique, me faz pensar que o conselho da apostila me parece bem fundado: Rodar tudo na mão no início.
interessante como nos tornamos dependentes das ultra facilitadoras IDEs não é mesmo cara?!!
:shock: