Fala ae galera, estou aprendendo java e fiz um programinha aki pra testar o conteúdo lido no meu livro… ele compila direitim mas nao roda… na hora de rodar a classe ele da o seguinte erro:
D:\java>java calcteste
Exception in thread “main” java.lang.NoClassDefFoundError: calcteste
Caused by: java.lang.ClassNotFoundException: calcteste
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
segue o codigo
[code]
class calc{
int result;
public int getSoma(){
return result;
}
public int getSubtracao(){
return result;
}
public void setSoma(int x, int y){
result = x + y;
}
public void setSubtracao(int x, int y){
result = x - y;
}
}
class clacteste{
public static void main(){
calc c = new calc();
c.setSoma(10, 8);
c.setSubtracao(15, 4);
System.out.println("A soma e: " + c.getSoma());
System.out.println("A subtracao e: " + c.getSubtracao());
}
class CalcTeste {
public static void main(String arg[]) {
calc c = new calc();
c.setSoma(10, 8);
c.setSubtracao(15, 4);
System.out.println("A soma e: " + c.getSoma());
System.out.println("A subtracao e: " + c.getSubtracao());
}
}
OU no mesmo arquivo
class calc {
int result;
public calc() {
}
public int getSoma() {
return result;
}
public int getSubtracao() {
return result;
}
public void setSoma(int x, int y) {
result = x + y;
}
public void setSubtracao(int x, int y) {
result = x - y;
}
public static void main(String arg[]) {
calc c = new calc();
c.setSoma(10, 8);
c.setSubtracao(15, 4);
System.out.println("A soma e: " + c.getSoma());
System.out.println("A subtracao e: " + c.getSubtracao());
}
}
Para cada classe, você precisa de um arquivo .class
Ou seja, se você quer fazer este programa funcionar com duas classes, você precisa de dois arquivos, e cada classe no arquivo certo.
Cada arquivo terá o nome da classe que você criar.
Ahhh se vc colocou o código igualzinho vc verá que não criou uma classe calcteste e sim clacteste no mesmo arquivo.Veja se é isso ou coloque td em um package mesmo.
De uma olhada em padrões java tb, pois nome de classe a primeira letra deve ser maiúscula métodos e atributos a primeira minúscula e a segunda palavra junta maiúscula, etc.
int result;
public int getSoma(){
return result;
}
public int getSubtracao(){
return result;
}
public void setSoma(int x, int y){
result = x + y;
}
public void setSubtracao(int x, int y){
result = x - y;
}
}
class CalcularTeste{
public static void main(String[] args) {