2017-02-03 5 views
17
nicht finden oder laden

Ich habe versucht, jede Online-Lösung und ich immer noch das gleiche Ergebnis..ich versuche, meinen Code auf eine Datei "distinct.txt" laufen zu lassen und hier ist mein Versuch, es auszuführen.Eingabeumleitung in Java - Konnte Hauptklasse

here is my try

Ich habe versucht, verschiedene Wege und alle gleichen Ergebnis.

hier ist mein Code

package pset2.sol; 
import edu.princeton.cs.algs4.StdIn; 
public class Permutation { 
public static void main(String[] args){ 
    RandomizedQueue<String> rq = new RandomizedQueue<>(); 
    while (!StdIn.isEmpty()) { 
     String item = StdIn.readString(); 
     rq.enqueue(item); 
    } 
    int k = Integer.parseInt(args[0]); 
    for(int i = 0; i < k; i++){ 
     System.out.println(rq.dequeue()); 
    } 
} 
} 
+2

Code als Text hinzufügen.nicht als Bild – Jens

+0

Sie müssen zuerst die Java-Datei kompilieren, und Sie müssen es aus dem Ordner ausführen, der pet2-Ordner enthält – Jens

+1

@Jens ich füge das Bild für den Code nicht hinzu, ich füge es hinzu, um zu zeigen, was ich schrieb das Terminal aber hier ist mein Code sowieso http://pastebin.com/QznjZ44d .. können Sie mir sagen, wie man es zuerst kompiliert? und ich führe es bereits durch den Ordner, der pset2 enthält, was "Produktion" ist. Ich bin Anfänger, also könnte ich vermisse einige Sachen zu verstehen –

Antwort

22

Meine Vermutung ist, dass Ihr Source-Ordner nicht richtig eingestellt ist.

Versuchen Sie Datei -> Projektstruktur -> Module -> (Registerkarte) Quellen -> Markieren als: Quellen.

Das behebt das Problem für mich nach dem Importieren eines Eclipse-Projekts.

1

Idealerweise sollten Sie immer den grünen Knopf von IntellIJ verwenden. Sie können die Konfiguration bearbeiten festlegen, um den Pfad zu der Datei anzugeben. Ich weiß jedoch nicht, ob ich die Datei von dort bis dahin durchlesen soll.


Ihr Problem ist nicht IntelliJ, obwohl es das CMD ist.

Zuerst stellen Sie sicher, dass Sie im richtigen Ordner sind.

Führen Sie aus, um zu sehen, dass Sie sich im übergeordneten Ordner pset befinden.

pset 
    /sol2 
     Permutation.class 

Dann müssen Sie wahrscheinlich eine Classpath die anderen Klassen haben im pset.sol2 Paket gelöst werden.

java -cp . pset.sol2.Permutation 

Weitere Details: What does "Could not find or load main class" mean?

13

Sie müssen sicherstellen, dass der "Projekt Compiler Ausgabe" Wert festgelegt ist, in Project Structure > Project, und dass der Compiler Ausgangspunkte des Moduls auf einen gültigen Pfad:

enter image description here enter image description here

+1

Es scheint, dass der Pfad ein vollständig qualifizierter Pfad sein muss, nicht relativ. – 4myle

+0

Es ist seltsam, aber es hat mir wirklich geholfen, mein Problem zu lösen – agurylev

0

Ein bisschen spät zur Party hier, aber ich fand, dass meine Hauptdatei (in der Quelldatei), die „.java“ Erweiterung fehlte, obwohl die Datei im intelliJ Projekt Explorer gut aussah.

Bei genauerer Betrachtung bemerkte ich jedoch, dass der Dateityp in/out/keine Klassendatei war (d. H. Nicht den blauen Kreis mit einem "C" enthielt).

Ich glaube, das sein könnte, weil ich die „main“ Datei in meinem Quellordner erstellt, bevor ich diesen Ordner als Quelle in den Projekteinstellungen markiert, und das erzeugte Dateityp war nicht definiert irgendwie ...

To fix, ich habe die Main-Datei in Main.java (im Finder) umbenannt und das Projekt vom Build-Menü neu erstellt.

Verwandte Themen