2017-02-08 6 views
-2

Was bedeutet folgende Fehlermeldung?Eclipse Java Compiler Fehler

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Syntax error on token "void", @ expected 
Syntax error on token "]", :: expected after this token 
Syntax error, insert "enum Identifier" to complete EnumHeader 

Die Linie mag es nicht ist:

public static void main(String[] args) { 

Mein voller WIP-Code, falls Sie es sehen für Kontext wie folgt ist. Eclipse stellt sich automatisch in dieser Zeile ein und ich hatte noch nie Probleme damit.

public class Card { 

    public class cardValue() 


    public static int suit; 
    public static int faceValue; 

    { 
     static int getfaceValue() 
      { 
       return faceValue; 
      } 

     setfaceValue(String faceValue) 
      { 
       cardFaceValue = faceValue; 
       return faceValue; 
      } 

     static int getSuit() 
      { 
       return suit; 
      } 

     setSuit(int suit) 
      { 
       cardSuit = suit; 
       return suit; 
      } 
    } 


    public static void main(String[] args) { 

     cardValue card1 = new cardValue(); 




     // Suit values into strings for Hearts,Spades,Clubs, Diamonds 
     if (cardValue.getSuit() == 1) 

      { 
      System.out.print(" of Hearts"); 
      } 
     if (cardValue.getSuit() == 2) 
      { 
      System.out.print(" of Spades"); 
      } 
     if (cardValue.getSuit() == 3) 
      { 
      System.out.print(" of Clubs"); 
      } 
     if (cardValue.getSuit() == 4) 
      { 
      System.out.print(" of Diamonds"); 
      } 


     System.out.println(card1.getSuit()); 


    } 
} 
+0

was wollen Sie tun? –

+1

Ihr ** erster ** Fehler ist in Zeile 3: 'public class cardValue()'. Was soll diese Linie eigentlich machen? Siehe [IDEONE] (https://ideone.com/RVFXG2#cmperr). Beheben Sie Ihre Fehler von oben (und es gibt viele von ihnen). – Andreas

+0

Die Fehlermeldungen bedeuten, dass Ihr Code kein gültiges Java ist und Eclipse deshalb nicht kompiliert werden kann. Sie können keinen Code ausführen, der Fehler enthält. –

Antwort

0

Ich empfehle wirklich, herum zu suchen und über Klassen und Objekte in Java zu lernen.

Aber wenn ich bekommen, was Sie zu tun versuchen, dies wird nur funktionieren:

public class Card { 

    private int suit; 
    private int faceValue; 

    public Card (int suit, int faceValue) { 
     setSuit(suit); 
     setFaceValue(faceValue); 
    } 

    int getFaceValue() { 
     return faceValue; 
    } 

    void setFaceValue (int faceValue) { 
     this.faceValue = faceValue; 
    } 

    int getSuit() { 
     return suit; 
    } 

    void setSuit (int suit) { 
     this.suit = suit; 
    } 

    public static void main (String[] args) { 
     Card card = new Card(1, 4); 

     System.out.print(card.getFaceValue()); 
     // Suit values into strings for Hearts,Spades,Clubs, Diamonds 
     if (card.getSuit() == 1) { 
      System.out.println(" of Hearts"); 
     } else if (card.getSuit() == 2) { 
      System.out.println(" of Spades"); 
     } else if (card.getSuit() == 3) { 
      System.out.println(" of Clubs"); 
     } else if (card.getSuit() == 4) { 
      System.out.println(" of Diamonds"); 
     } 
    } 
} 
-1

Wenn Sie Importe innerhalb der Klassendeklaration haben, müssen Sie vor Ihrer Klassendeklaration kommen.

import java.io.*; 
import java.util.*; 

oder ähnliche

Überprüfen Sie die Einbuchtung, die nicht korrekt ist. Sie haben möglicherweise {} aus dem Gleichgewicht geraten.

class Card { 

private int suit; 
private int faceValue; 

public Card (int suit, int faceValue) 
{ 
    setSuit(suit); 
    setfaceValue(faceValue); 
} 

int getfaceValue() { 
    return faceValue; 
} 

void setfaceValue (int faceValue) { 
    this.faceValue = faceValue; 
} 

int getSuit() { 
    return suit; 
} 

void setSuit (int suit) { 
    this.suit = suit; 
} 

public static void main (String[] args) { 
    Card card = new Card(1, 4); 

    System.out.print(card.getfaceValue()); 
    // Suit values into strings for Hearts,Spades,Clubs, Diamonds 
    if (card.getSuit() == 1) { 
     System.out.println(" of Hearts"); 
    } else if (card.getSuit() == 2) { 
     System.out.println(" of Spades"); 
    } else if (card.getSuit() == 3) { 
     System.out.println(" of Clubs"); 
    } else if (card.getSuit() == 4) { 
     System.out.println(" of Diamonds"); 
    } 
} 
} 
+1

Was "Import" Aussagen? – Andreas

+1

* "Sie sollten auch rückwärts schreiben, was Ihre Einrückung verbessern kann." * Was? – Tom

+1

Sie meinen den einzigen Unterschied, dass Sie seinen Methodenaufruf 'getfaceValue' behoben haben? Oder meinst du das Zusammentreffen der genau gleichen inkonsistenten Klammerform, der exakt gleichen Argumente für den "Card" -Konstruktor und des exakt gleichen (und ungewöhnlichen) Whitespace vor Methodenklammer? – Tom

Verwandte Themen