Innehållsförteckning:
- NoClassDefFoundError
- NoSuchMethodError
- Kan inte lösa symbol
- Förväntat "; "(Eller förväntat någonting annat)
- Saknad Metod Kropp eller Förklara Sammanfattning
- Ett "annat" utan en "om"
- Icke-statisk variabel kan inte hämtas från ett statiskt sammanhang
- FileNotFoundException (Systemet kan inte hitta den angivna filen) eller EOFException
Video: Curso Java 12 - Objetos @JoseCodFacilito 2024
Ibland kan felmeddelanden göra rädsla för hjärtat till även den modigaste programmeraren. Lyckligtvis är några användbara, lugnande råd här - råd för att hjälpa dig att lösa problemet när du ser ett av dessa meddelanden.
NoClassDefFoundError
Du får detta fel när du försöker köra din kod. Så fråga dig själv, försökte du kompilera koden? I så fall såg du några felmeddelanden när du sammanställde? Om du såg felmeddelanden leta efter saker du kan fixa i din. java-fil. Försök fixa dessa saker och kompilera sedan. java-fil igen.
Om du normalt håller kod i mappen JavaPrograms, se till att du fortfarande arbetar i den här JavaPrograms-katalogen. (I Windows, se till att kommandotolken säger JavaPrograms.)
Se till att du har en lämplig namngivning. klassfilen i din arbetsregister. Om du till exempel försöker köra ett program med namnet MyGreatProg, leta efter en fil med namnet MyGreatProg. klass i din arbetsregister.
Kontrollera din klassväg för att försäkra dig om att den innehåller. klassfil som du behöver. Om till exempel, om all din Java-kod finns i din arbetsmapp, se till att klassväggen innehåller en punkt.
NoSuchMethodError
När du stöter på det här felmeddelandet, kolla efter felaktigt eller inkonsekvent kapitalisering av ett metodnamn. Kontrollera huvudbokstaven (inte huvud).
När du utfärdar java-kommandot (eller gör vad du normalt gör för att köra ett program i din miljö), innehåller den klass du försöker springa med sin egen huvudmetod? Om inte, hitta sedan klassen med huvudmetoden och kör den klassen istället.
Kan inte lösa symbol
Om du får ett felmeddelande som inte kan lösa symbolen, kontrollera stavningen och aktiveringen av alla identifierare och nyckelord. Kontrollera sedan igen.
Om den olösta symbolen är en variabel, se till att den här variabelns deklaration är på rätt plats. Om exempelvis variabeln deklareras i en för loop-initiering, försöker du använda den variabeln utanför för loopen? Om variabeln deklareras inuti ett block (ett par lockiga axlar), försöker du använda den variabeln utanför kvarteret?
Slutligen leta efter fel i variabelns deklaration. Om kompilatorn hittar fel i en variabels deklaration kan kompilatorn inte lösa det variabla namnet i resten av koden.
Förväntat "; "(Eller förväntat någonting annat)
När du ser ett felmeddelande som säger '; "Förväntade, gå igenom din kod och se till att varje uttalande och varje deklaration slutar med en semikolon.Om så är fallet kanske kanske kompilatorns gissning om en saknad semikolon är felaktig. Att fixa ett annat (till synes orelaterat) fel och omkompilera din kod kan bli av med en falsk "; "förväntat meddelande.
För en saknad parentes, kontrollera villkoren för om uttalanden och loopar. Se till att varje villkor är omslutet inom parentes. Se också till att en parameterlista (bifogad inom parentes) följer namnet på varje metod.
För ett förväntat meddelande, kontrollera dina uppgifter om uppdrag. Se till att varje uppdragsdeklaration ligger inuti en metod. (Kom ihåg att en deklaration med en initialisering kan vara utanför en metod, men varje vanlig gammal uppdragsdeklaration måste vara inuti en metod.)
För meddelandet "klass" eller "gränssnittet", se till att du har stavat ordklassen korrekt. Om din kod har en importdeklaration kontrollerar du stavningen och aktiveringen av ordimporten.
Saknad Metod Kropp eller Förklara Sammanfattning
Du får en saknad metodkropp eller förklarar abstrakt meddelande när kompilatorn ser en metodhuvud, men kompilatorn kan inte hitta metodens kropp. Titta på slutet av metodens rubrik. Om du avslutade rubriken med en semikolon, försök sedan ta bort semikolon.
Om rubriken inte slutar med en semikolon, kolla koden omedelbart efter rubriken. Koden som direkt följer rubriken ska börja med en öppen krökstång (början på en metodkropp). Om någon kod kommer mellan huvudet och kroppens öppna locket, överväg att flytta den där koden någon annanstans.
Ett "annat" utan en "om"
Jämför antalet om klausuler med antalet andra klausuler. En if-klausul behöver inte ha en annan klausul, men varje annan klausul måste tillhöra en if-klausul.
Kom ihåg att du bifogar ett om villkor i parentes, men du lägger inte en semikolon efter tillståndet. Har du felaktigt avslutat ett om tillstånd med en semikolon?
Titta på alla linjer mellan en if och dess annat. När du hittar mer än ett uttalande mellan en if och dess annat, leta efter lockiga axlar. Om uttalandena mellan if och dess andra inte är omgivna av lockiga hängslen, kan du ha hittat den skyldige.
Icke-statisk variabel kan inte hämtas från ett statiskt sammanhang
Massor av saker kan ge dig en icke-statisk variabel kan inte refereras från ett statiskt sammanhangsfelmeddelande. Men för början programmerare är den vanligaste orsaken med en variabel som deklareras utanför huvudmetoden. Det är ingen synd att deklarera en sådan variabel, men eftersom huvudmetoden alltid är statisk behöver du lite speciell hjälp för att den huvudsakliga metoden ska referera till en variabel som deklareras utanför huvudmetoden.
Den snabbaste lösningen är att ställa ordet statiskt framför variabelns deklaration. Men först, fråga dig själv varför den här variabelns deklaration inte ligger inom huvudmetoden. Om det inte finns någon bra anledning, flytt sedan variabelns deklaration så att den ligger inom huvudmetoden.
FileNotFoundException (Systemet kan inte hitta den angivna filen) eller EOFException
Om du stöter på ett FileNotFoundException-meddelande, kontrollera att filen som heter i koden faktiskt existerar.(Sök efter filen med hjälp av systemets explorer eller använd kommandotolken.) Dubbelkontrollera stavningen i din kod mot namnet på filen på hårddisken.
Om du har hittat en korrekt namngiven fil på hårddisken, kontrollera att filen finns i rätt katalog. (För ett program som körs i din arbetsmapp, finns en typisk datafil också i arbetsmappen.)
Om du är Windows-användare, se till att systemet inte har lagt till en extra. Txt-förlängning när du skapade filen. (Använd kommandotolken för att kontrollera filens namn. Windows Explorer kan gömma.txt-förlängningen och det leder alltid till förvirring.)
För en EOFException försöker du förmodligen läsa mer data än du har i fil. Mycket ofta gör ett litet logiskt fel att ditt program gör det här. Så gör en noggrann granskning av alla steg i programmets körning. Leta efter subtila saker, som felaktigt primerade loopar eller läsning av arrayvärden förbi arrayens största index. Leta efter villkor som använder