Avatar billede jih Nybegynder
28. september 2003 - 21:14 Der er 20 kommentarer og
1 løsning

mærkelig fejl opstår hver gang?

hey... jeg er lige begyndt at programmere lidt med Java... og det går da meget fint sys jeg... klarede Welcome (Hello World) programmet uden problemer, og de to næste i min tutorial... men så i den tredje kom der en fejl.. når jeg compiler den, står der ik noget om nogen fejl, men først når jeg kører programmet... nu har jeg fx det her (Welcome programmet):

---

class Welcome {

    /* Welcome program  by J I Hansen September 28th 2003
    * ---------------------------------------------------
    * Illustrates a simple program displaying a message.
    */

    Welcome () { //Name of the function
        System.out.println("Welcome to Java Gently!"); //Displays a message, when function is called
    }

    public static void main (String [ ] args) {
        new Welcome (); //calls the function - Welcome ()
    }
}

---

Det gik meget fint første gang.. men efter den fejl kom i det andet program, vil det her heller ik mere.. samme fejl... hvad kan det være??

fejlbeskeden er: "Exception in thread "main" java.lang.NoClassDefFoundError: Welcome
Tryk på en vilkårlig tast for at fortsætte . . ."

//WebPsycho
Avatar billede erikjacobsen Ekspert
28. september 2003 - 21:34 #1
Hvordan afvikler du dit program? Det du skriver kan ske hvis din fil hedder
welcome.class og ikke Welcome.class (fra welcome.java og Welcome.java)
Avatar billede jih Nybegynder
28. september 2003 - 21:37 #2
ja, men det jeg siger... jeg har ik lavet det om..... fejlen var der bare lige pludselig... men hey... jeg prøver lige..
Avatar billede jih Nybegynder
28. september 2003 - 21:39 #3
hmm... filen hed Welcome.class... og Welcome.java (den jeg loader), og problemet opstår stadigvæk... jeg ved ik om det har nogen betydning, men jeg bruger TextPad til at skrive koden og kompile med...
Avatar billede erikjacobsen Ekspert
28. september 2003 - 21:41 #4
Det virker fint nok:

[ej@dmu-stud java]$ javac Welcome.java
[ej@dmu-stud java]$ java Welcome
Welcome to Java Gently!
Avatar billede erikjacobsen Ekspert
28. september 2003 - 21:42 #5
Iøvrigt bør det nok være    public class Welcome {
Avatar billede jih Nybegynder
28. september 2003 - 21:49 #6
nope... det virker ik... det vil ik virke...
Avatar billede erikjacobsen Ekspert
28. september 2003 - 21:52 #7
Prøv at vis hvad du gør. Og kunne du jo også lige fortælle hvilket OS
du anvender.
Avatar billede _carsten Nybegynder
28. september 2003 - 21:52 #8
Har du et package statement i toppen

Eks.

package et.eller.andet.*;

public class Welcome(){
  ...........
Avatar billede jih Nybegynder
28. september 2003 - 22:52 #9
hmm... ok.. skriver lige før jeg går i seng...

OS = Windows XP Home Edition
bruger ik noget package
og hele koden har i oppe i det første indlæg (spørgsmålet) ... det er koden for hele spørgsmålet...
Avatar billede erikjacobsen Ekspert
28. september 2003 - 22:59 #10
Hvordan oversætter du og udfører koden?
Avatar billede cpufan Juniormester
28. september 2003 - 23:29 #11
1. linie skal hedde:

public class Welcome

som erik skriver............

hvad compiler du med?

test f.eks på denne måde:

åbn commandprompt/
skift til korrekt dir hvor din fil er
skriv: java welcome
Avatar billede cpufan Juniormester
28. september 2003 - 23:29 #12
øhm

java Welcome  (stort w)
Avatar billede jih Nybegynder
29. september 2003 - 09:32 #13
hmmm... ok se her... hvis I lige læser hele skidtet om... alle indlæg og det hele.. der står stort set alt... hvis ik... spm fra erikjacobsen (22:59:56) forstår jeg ik helt?

og cpufan -> jeg har skrevet public class Welcome {, men... det virker ik... kompiler med TextPad... prøver lige når jeg kommer hjem... (det der med ms-dos)

//WebPsycho
Avatar billede cpufan Juniormester
29. september 2003 - 09:43 #14
du skal downloade en compiler,
som oversætter din kode.

f.eks. j2se 1.4.2 SDK
http://java.sun.com/j2se/1.4.2/download.html
Avatar billede jih Nybegynder
29. september 2003 - 15:00 #15
jamen det jeg siger er.... jeg bruger TextPad (ik Notepad) til det... gemmer det som (filnavn).java, kompilerer det, og hvis der ik er fejl, gemmer den det som (filnavn).class... så jeg behøver ik en ny kompiler... det virkede fint, indtil nu....
Avatar billede jih Nybegynder
29. september 2003 - 15:12 #16
hmmm.... weird... nu virker det.... i stedet for den ovenstående kode, lavede jeg det hele om til:

//---

public class Welcome {
    /* hetta er
    *  ein test
    */

    public static void main (String [ ] args) {
        System.out.println("heyZan!");
    }
}

//---

og så virkede det fint.... nogen der kan forklare mig hvorfor det? altså... hvorfor den ik vil kalde funktionen Welcome () så, fordi det må være der fejlen ligger jo... ik?
Avatar billede cpufan Juniormester
29. september 2003 - 15:32 #17
1. linie i det her tilfælde: er navnet på selve filen.

hvis du laver () bliver det navnet på en funktion
Avatar billede jih Nybegynder
29. september 2003 - 15:42 #18
ja, det ved jeg... men.... mit problem er at jeg ik kan finde fejlen i den første måde.... har nemlig oz prøvet at kalde den Welcome1 ()

Det er en funktion, så det burde ik være et problem at der står () bagved..?
Avatar billede cpufan Juniormester
29. september 2003 - 15:53 #19
hvis du i filen, skriver at din fil hedder welcome ()
så skal du jo også gemme den som welcome ().java

public class Welcome    <<<<<<<<<<<<<<<<Dette er "titellinien" som fortæller hvad din fil hedder
Avatar billede jih Nybegynder
29. september 2003 - 16:06 #20
hmmm.... der står jo det samme som der stod før.... ok.. se her...

filen hedder Welcome.java
class hedder Welcome.class

skriver public class Welcome { // for "titellinien"..

skriver public static Welcome () { // for funktionen/konstruktøren..

når jeg kalder funktionen/konstruktøren, skriver jeg:

new Welcome (); // <--- rigtigt?

ellers kan jeg ik lige se at du retter på noget, jeg gør... ligner bare at du fortæller mig, hvad det er jeg laver... det ved jeg jo godt selv... så kan du ik (eller en anden) fortælle mig, HVIS du ved hvad der er galt med --->funktionen/konstruktøren<---, og ik "public class Welcome {", linien, fordi det ser ud til at fejlen ligger i funktionen/konstruktøren jo...
Avatar billede jih Nybegynder
29. september 2003 - 16:25 #21
jeg har fundet ud af fejlen.... jeg har gemt filerne (så dum jeg end kan være) i en anden mappe en den classpath er sat til at være... når jeg så gemmer i den mappe hvor de skal være, opstår ingen problemer... jeg beklager...
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