2016-03-27 6 views
0

Das gesamte Programm soll ein Kombinationsschloss eingeben und das Combo akzeptieren. Dies ist der Code, mit dem ich Probleme habe.Mehrere Fehler für Bezeichner erwartet und illegaler Start des Typs. Confused

import java.util.*; // needed for Scanner 

public class CombinationLock extends Lock 
{ 
    // Instance Variables 
    private String combination; 

    Scanner keyboard = new Scanner(System.in); 

    System.out.println("Enter Combination --> "); 
    String combo = keyboard.nextLine(); 

    if(combination = combo) 
    { 
    super.open(); 
    } 

public String toString() 
    { 
    String str = super.toString() + "\n" + 
       "Combination = " + combination + "\n"; 
    return str; 
    } 

public void setCombination() 
{ 

} 

public boolean getCombination() 
{ 

} 

public CombinationLock() 
{ 
    super(); // call the default constructor of the Lock class 
    combination = ""; 
} 

public CombinationLock(String combo) 
{ 
    super(); 
    combination = combo; 
} 


} 

Dies sind die Fehler, die ich bin

--------------------Configuration: <Default>-------------------- 
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:10: error: <identifier> expected 
    System.out.println("Enter Combination "); 
        ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:10: error: illegal start of type 
    System.out.println("Enter Combination "); 
        ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: illegal start of type 
    if(combination = combo) 
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: <identifier> expected 
    if(combination = combo) 
       ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: ';' expected 
    if(combination = combo) 
       ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: illegal start of type 
    if(combination = combo) 
         ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: <identifier> expected 
    if(combination = combo) 
         ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:14: error: ';' expected 
    { 
    ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:15: error: illegal start of type 
    super.open(); 
     ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:18: error: class, interface, or enum expected 
public String toString() 
    ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:22: error: class, interface, or enum expected 
    return str; 
    ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:23: error: class, interface, or enum expected 
    } 
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:25: error: class, interface, or enum expected 
public void setCombination() 
    ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:30: error: class, interface, or enum expected 
public boolean getCombination() 
    ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:35: error: class, interface, or enum expected 
public CombinationLock() 
    ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:38: error: class, interface, or enum expected 
    combination = ""; 
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:39: error: class, interface, or enum expected 
} 
^ 
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:41: error: class, interface, or enum expected 
public CombinationLock(String combo) 
    ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:44: error: class, interface, or enum expected 
    combination = combo; 
    ^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:45: error: class, interface, or enum expected 
} 
^ 
20 errors 

Process completed. 

immer ich bin mir nicht sicher, was das Problem verursacht. Ich habe versucht, andere Antworten zu finden, aber keine von ihnen war relevant für mein Problem.

+1

Ihr Code ** ist nicht ** in einer Methode oder einem Initialisierungsblock. –

Antwort

0

Java-Anweisungen müssen in einem Codeblock erscheinen. In diesem Fall müsste der Code, der außerhalb dieser Methoden in dieser Klasse enthalten ist, von {} umgeben sein.

Aber es sieht so aus, als ob Sie Eingaben lesen möchten. Idealerweise sollten Sie eine main Methode in dieser Klasse erstellen, in der Sie eine Instanz von CombinationLock erstellen und die Eingabe in der main-Methode lesen.

0

Sie schreiben Anweisungen außerhalb einer Funktion. Stellen Sie sicher, dass alle Anweisungen innerhalb von Funktionen sind und alle Instanzvariablen über Bereichsbezeichner verfügen.

Sepcifically, stellen Sie sicher, dass die folgenden Aussagen in einer Funktion sind:

Scanner keyboard = new Scanner(System.in); 

System.out.println("Enter Combination --> "); 
String combo = keyboard.nextLine(); 

if(combination = combo) 
{ 
    super.open(); 
} 
0

Sie müssen ein paar Dinge korrigieren:

  1. Der Code Benutzereingabe erhalten sollte innerhalb der Methode sein. Java erlaubt es nicht, solche Logik außerhalb von Methoden oder Blöcken zu schreiben.
  2. Wenn Bedingung nicht richtig implementiert ist. Java erwartet den Ausdruck innerhalb der Bedingung, wenn die Bedingung boolean zurückgibt. Der Operator =, der innerhalb if verwendet wird, führt jedoch zu String. Bei String-Vergleichen sollten wir string1.equals(string2) innerhalb von if verwenden.
Verwandte Themen