Gå til innhold

Anbefalte innlegg

Hei, eg har nettopp begynt med Java, og holder på med å lage mitt første program. Har kjøpt ein bok...

 

class SkrivTekst {

public static void main (String[] args) {

System.out.println("Mitt første Javaprogram!");

}

}

 

Problemet mitt er med å få kompilert filen.

Har innstallert det eg trenger for å kompilere og kjøre filer.

Eg skriver i cmd: D:\Javaprogram>javac program.javaDå får eg feilmeldingen: "javac gjenkjennes ikke som en intern eller ekstern kommando, kjørbart program eller satsvis fil."

 

Ok, så kopierer eg programmet javac inn i samme mappen og prøver det...

Då skriver eg det samme: D:\Javaprogram>javac program.java

Resultat:

Exception in thread "main" java.lang.NoClassDefFoundError: program

 

Korleis skal eg gjere det....?

Lenke til kommentar
Videoannonse
Annonse
For det første må klassen ha samme navn som fila den ligger i. Ma program.java bør hete SkrivTekst.java.

 

Det har eg fikset nå ;)

 

For det andre så må du legge til java jdk sin bin folder til path ELLER skrive inn full path til javac når du kompilerer.

 

Korleis gjer eg det..?

 

(Takk for hjelpen forresten) ;)

Lenke til kommentar
For det andre så må du legge til java jdk sin bin folder til path ELLER skrive inn full path til javac når du kompilerer.

 

Korleis gjer eg det..?

6471540[/snapback]

(forutsetter winxp)

 

Jeg antar at java SDK'en ligger i c:\program files\java\jdk1.5.0_06\ eller noe slik forutsatt at du har windows.

 

Isåfall høyreklikker du på my computer/min datamaskin og velger properties. så velger du fanen med navn advanced/avansert. Nederst der finner du en knapp som heter environment variables. Ved å trykke på den knappen får du opp en dialog hvor alle slike environment variable er. I listen som heter "System variables" finner du den som heter "PATH" og trykker "edit". Her vil du få opp muligheten til å endre navn og verdi. Det er verdien du skal endre. På SLUTTEN av alt som står der legger du til et semikolon ";" og skriver in c:\program files\java\jdk1.5.0_06\bin\

 

Hvis din java jdk ligger i en annen mappe så bare bytt ut der jeg har skrevet c:\.....\bin\ med riktig sted.

 

Det skal nå fungere. kan hende du må åpne en ny kommandolinje først though...

Endret av invictus
Lenke til kommentar

Eg fekk det ikkje til å virke, så derfor legger eg eksemplene mine inn i undermappen bin og kompilerer/kjører dei der...

Tungvingt...

Lastet det ned fram Sun sine sider og innstallerte det, men det hjelper ikkje.

:dontgetit:

Lenke til kommentar
set PATH=%PATH%;c:\Javating\bin

Dette skrev eg i cmd...fra mappen D:\Javaprogram.....

Lukket cmd...åpnet på nytt...Det går ann å kjøre herfra til java, men ikkje kompilere...

Endret av gamma48
Lenke til kommentar

Hei Gamma48

 

Råder deg ikke til å installere eclipse som ble sist sagt her, dette er et ganske tungtvindt program hvis du er nybegynner. Prøv heller "TextPad" som er mye enklere, du kan finne det på textpad.com. Bruker det selv samt netbeans :)

 

Som sagt her må navnet på klassen være det samme som navnet på filen og for å få tilgang til kommandoen "javac" fra hvor som helst anbefaler jeg deg å redigere miljøvariablen eller "environment variable". Dette kan gjøres ved å høyre klikke på "Min datamaskin" og deretter velge fanen "Avansert" og trykke på "Miljøvariabler".

 

Deretter går du ned til systemvariabler og redigerer den merket med "Path". Hvis du ikke satt noen alternativ installasjonskatalog for JDK så kan du legge inn denne stien: ;C:\Program Files\Java\jdk1.5.0_06\bin og deretter klikker du bare ok. Nå skal javac fungere hver gang du starter maskinen og fra hvor som helst.

 

Den feilen du fikk viser at jvm ikke finner noen klasse med navn "program" og du har satt den til noe annet, så når du har skiftet det så vil det nok fungere :thumbup:

 

Forhåpentligvis så var ikke dette et redundant svar, men en liten oppsummering.

Endret av icebyte
Lenke til kommentar

Ok. Foreløpig har eg bare brukt "Notisblokk" som kom med Windows.

Boka eg har anbefaler WinEdit3 eller noko sånt...

 

Takk for all hjelp så langt....

 

Eg trenger hjelp med ein oppgave:

 

import javax.swing.JOptionPane;

 

 

class Teller {

private int Ja = 0;

private int Nei = 0;

 

public void AukAntallJa () {

Ja++;

}

 

public void AukAntallNei () {

Nei++;

}

public void AukAntallJa (int Aukning) {

Ja += Aukning;

}

 

public void AukAntallNei (int Aukning) {

Nei += Aukning;

}

 

public int finnJa () {

return Ja;

}

 

public int finnNei () {

return Nei;

}

 

public String toString () {

return "Antall ja: " + Ja + "\nAntall nei: " + Nei;

}

}

 

class JaNei {

public static void main (String[]args) {

int Antall = 0;

String inputLogg = "";

Teller Tellemaskin = new Teller ();

do {

String AntallLest = JOptionPane.showInputDialog ("Antall stemmer\nPositivt tall = Ja-stemmer.\nNegativt tall = Nei stemmer.\nTast 0 for å avslutte.");

inputLogg += "\nLest antall: " + AntallLest;

Antall = Integer.parseInt(AntallLest);

if (Antall > 0) Tellemaskin.AukAntallJa(Antall);

else if (Antall < 0) Tellemaskin.AukAntallNei(Antall);

} while (Antall != 0);

 

JOptionPane.showMessageDialog (null, inputLogg +"\n\nDet ble " + Tellemaskin.finnJa() + " ja stemmer, og " + Tellemaskin.finnNei() + " nei stemmer.");

System.exit(0);

}

}

}

 

Eg får denne feilmeldingen når eg kompilerer: "JaNei.java:54: 'class' or 'interface' expected

}

^

JaNei.java:54: 'class' or 'interface' expected

}

^

...:-( :hrm::ermm::hmm:

Endret av gamma48
Lenke til kommentar
  • 2 uker senere...

som Edorph sa så var det en } for mye.

Jeg anbefaler deg og bruke en litt mer avansert editor/IDE samt å bruke innrykk og linjeskift i koden. Er mye letter å lese koden når man skal feilsøke.

Notepad ++ som Arsæll Benediktsson har publisert en artikken om, kunne vært et alternativ.

 

Selv bruker jeg Eclipse IDE. Brukte format funksjonen der på koden din og da ble den seende slik ut:


package no.marius.test;

import javax.swing.JOptionPane;

class Teller {
private int Ja = 0;

private int Nei = 0;

public void AukAntallJa() {
 Ja++;
}

public void AukAntallNei() {
 Nei++;
}

public void AukAntallJa(int Aukning) {
 Ja += Aukning;
}

public void AukAntallNei(int Aukning) {
 Nei += Aukning;
}

public int finnJa() {
 return Ja;
}

public int finnNei() {
 return Nei;
}

public String toString() {
 return "Antall ja: " + Ja + "\nAntall nei: " + Nei;
}
}

class JaNei {
public static void main(String[] args) {
 int Antall = 0;
 String inputLogg = "";
 Teller Tellemaskin = new Teller();
 do {
 	String AntallLest = JOptionPane
   	.showInputDialog("Antall stemmer\nPositivt tall = Ja-stemmer.\nNegativt tall = Nei stemmer.\nTast 0 for å avslutte.");
 	inputLogg += "\nLest antall: " + AntallLest;
 	Antall = Integer.parseInt(AntallLest);
 	if (Antall > 0)
   Tellemaskin.AukAntallJa(Antall);
 	else if (Antall < 0)
   Tellemaskin.AukAntallNei(Antall);
 } while (Antall != 0);

 JOptionPane.showMessageDialog(null, inputLogg + "\n\nDet ble "
   + Tellemaskin.finnJa() + " ja stemmer, og "
   + Tellemaskin.finnNei() + " nei stemmer.");
 System.exit(0);
}
}

 

ja...nå ble jo selvfølgelige ikke formateringen på koden slik som den ser ut i eclipse her da.... :blush:

Endret av drool
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...