Avatar billede togsverd1985 Praktikant
27. september 2003 - 23:23 Der er 14 kommentarer og
1 løsning

Fejl i name?? Hvor er min fejl?

Hej jeg har et simpelt program:

class Spiller {
        public static void main(String[] arguments) {
            int total = 0;
            int score = 0;
            if (score == 1)
                System.out.println("Du har scoret et mål!");
            if (score == 3)
                System.out.println("Du har lavet et hattrick!");
            total = total + score;
            System.out.println("Samlet score: " + total);
        }
}

Når jeg forsøger at afvikle i netbeans 3.5 får jeg under kompilering fejlen :

java.lang.NoClassDefFoundError: Spil/Spiller (wrong name: Spiller)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Exception in thread "main"

og jeg har tjekket at fil og klasse hedder det samme...

Hvad er der galt?
Avatar billede darkwing Nybegynder
27. september 2003 - 23:32 #1
prøv med at tilføje public class Spiller {
Avatar billede darkwing Nybegynder
27. september 2003 - 23:35 #2
du behøver heller ikke at skrive public static void main(String[] arguments) {
du kan nøjes med

public static void main( String args[] ) {
Avatar billede arne_v Ekspert
27. september 2003 - 23:42 #3
Der mangler en:

package Spil;

øverst i Spiller.java !
Avatar billede togsverd1985 Praktikant
27. september 2003 - 23:51 #4
hmmm med Arnes rettelse virker det... men i min bog står der intet om det ... underligt men tusind tak :)
Avatar billede arne_v Ekspert
27. september 2003 - 23:55 #5
Hvis du i NetBeans har anbrugt den i pakken Spil så skal filens
indholde afspejle det.

Hvis den var anbragt i default package, så skulel du ikke have
angivet det.
Avatar billede togsverd1985 Praktikant
27. september 2003 - 23:56 #6
forstår ikke?
Avatar billede arne_v Ekspert
28. september 2003 - 00:09 #7
I NetBeans er tingene struktureret som:

1) file system (lille harddisk)
2) folder (lille åben chartek)
3) fil (grim lille ikon)

niveau 2 skal matche med package direktivet i filerne.
Avatar billede togsverd1985 Praktikant
28. september 2003 - 00:10 #8
Hmmm ... ok jeg forstår bedre
Avatar billede togsverd1985 Praktikant
28. september 2003 - 00:13 #9
men hvis jeg havde brugt fx jdk så havde jeg ikke behøvet skrive package Spil; ?
Avatar billede arne_v Ekspert
28. september 2003 - 00:42 #10
Jo.
Avatar billede arne_v Ekspert
28. september 2003 - 00:42 #11
NetBeans bruger faktisk JDK.

Den er bare lagt en grafisk brugergrænseflade oven på.
Avatar billede arne_v Ekspert
28. september 2003 - 00:43 #12
Med JDK havde det bare været mere naturligt at lade den være
i default package(hvor man ikke skal skrive package).
Avatar billede togsverd1985 Praktikant
28. september 2003 - 01:11 #13
ok og hvordan udtrykker jeg at jeg vil lade den blive i deafault?
Avatar billede arne_v Ekspert
28. september 2003 - 13:33 #14
Med Notepad og JDK giver det sig selv.

I NetBeans skal du bare have markeret fil system når du vælger
klasse i.s.f. folder, så skulle klassen blive oprettet i default
package.

Men du skal alligevel bruge package, når du skal igang med mere avancerede
ting, så jeg synes at du skal vende dig til at bruge dem.
Avatar billede togsverd1985 Praktikant
28. september 2003 - 17:14 #15
ok tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester