2017-09-12 2 views
-3

Ich bin sicher, das muss eine einfache Lösung sein, aber ich kann nicht sehen, was ich falsch gemacht habe. Ich weiß traditionell, dass dieser Fehler bedeutet, dass jemand Code außerhalb einer Methode geschrieben hat, aber nicht.Was verursacht '<identifier> erwartete' Fehler?

Denken Sie daran, Class und Frame sind Klassen, die ich gemacht habe und sie funktionieren gut (ich weiß, es ist schlecht, eine Klasse „Class“ zu nennen, aber ich schreibe Code, der ein UML-Klassendiagramm erstellt.

import java.util.Scanner; 
import javax.swing.*; 

public class FileScanner { 

    public static void main(String[] args) { 
     int column = 1; 

     Scanner scanner = new(System.in); 

     Class object = new("Object", null); 

     JFrame f = new JFrame("UML Class Diagram"); 
     f.setSize(600, 600); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     f.add(new Frame()); 
     f.setVisible(true); 
    } 
} 

Fehler tritt auf den Scanner Objektinstanziierung und Class Objektinstanziierung Linien

+1

, auf der Linie wird diese Meldung auftreten bekommen? – Stultuske

+1

'Klassenobjekt = neu (" Objekt ", null)' - Was erwarten Sie von dieser Linie? – Eran

+3

"Ich weiß, dass es schlecht ist, eine Klasse" Klasse "zu nennen, aber ich schreibe Code, der ein UML-Klassendiagramm erstellt." Weißt du * warum * es ist schlecht, eine Klasse 'Class' zu nennen? – Kayaman

Antwort

4
Scanner scanner = new(System.in); 

    Class object = new("Object", null); 

Sie sagen, dass sie ‚neu‘ sein müssen, aber Sie müssen den Typ angeben.

Scanner scanner = new Scanner(System.in); 
Class object = new Class("Object", null); 
+0

Nein. Seine Frage zu diesem Punkt ist, warum er den "Identifier erwartet" bekommt. IMO, Klassenobjekt = neue Klasse (...); sollte den Code brechen, aber zumindest ist er sich der möglichen Probleme bewusst (wie er in seiner Frage sagt) – Stultuske

+1

Oh mein Gott, ich wusste, dass es einfach war. Ich sollte ein Nickerchen machen. Vielen Dank :) –

1

Dies ist der richtige Weg, dies zu tun.

Scanner scanner = new Scanner(System.in);

Sie müssen Scanner platzieren Klassentyp angeben. sonst werden Sie Fehler wie

Syntaxfehler auf Token „neuen“, erwartet Classtype nach diesem Token

Verwandte Themen