Eclipse – die neusten Beiträge

Java, textdokument in zweidimensionalen Array speichern und ausgeben?

Hey, bei meiner dieswöchigen Informatik Übung müssen wir ein Spielfeld aus einem Textdokument in ein Zweidimensionales Array einlesen und ausgeben.

Ein Textdokument sieht zB so aus:

https://pastebin.com/5CViAyG5

Ich hätte die Aufgabe mit folgendem Code gelöst:

[CODE]

class Input {

public static void main(String[] args) {

Input x = new Input();

x.openup("MazeWithExit_windows.txt");

}

void openup(String fileName) {

In.open(fileName);

int height = In.readInt();

int length = In.readInt();

Out.println("Height: " + height);

Out.println("Length: " + length);

char [][] a = new char[length][height];

for(int i=0;i<a.length;i++) {

for(int j =0;j<a[i].length;j++) {

a[i][j] = In.read();

Out.print(a[i][j]);

}

}

In.close();

}

}

[/CODE]

Die In und Out Klassen müssen wir verwenden.. Out.print statt System.Out.print

Und In hilft beim einlesen.

So, jetzt zum eigentlichen Problem..

Ansich funktioniert der Code, jedoch liest er auch newlines ein, weshalb das Array vorzeitig voll ist und nicht das ganze Spielfeld einliest.

Ausgabe: https://pastebin.com/czTDF2MA

Uns wurde gesagt, man soll einfach ein dummy-read reinmachen, was die newlines einliest und diese somit nicht zum Array hinzugefügt werden. Jemand hat auch gemeint, dass nach der inneren Schleife ein In.readLine(); das Problem löst.

Doch nichts hat mit geholfen.

Wie löse ich das Problem? :o

Computer, Studium, programmieren, Java, Eclipse, Informatik, Programmiersprache

[09:03:02 ERROR]: Error occurred while enabling plugin v1.0 (Is it up to date?) java.lang.NullPointerException?

Hallo seit kurzem habe ich das Problem das mein Chatclear Command nicht geht. Beim Start kommt diese Fehlermeldung:

[09:03:02 ERROR]: Error occurred while enabling plugin v1.0 (Is it up to date?)

java.lang.NullPointerException

    at de.name.plugin.main.Main.onEnable(Main.java:25) ~[?:?]

    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:356) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:316) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.reload(CraftServer.java:746) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.Bukkit.reload(Bukkit.java:534) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:646) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchServerCommand(CraftServer.java:632) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at net.minecraft.server.v1_8_R1.DedicatedServer.aM(DedicatedServer.java:353) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:317) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]

Der Command ist in der plugin.yml und in der Main eingetragen. Eclipse selber erkennt auch keinen Fehler

PC, Technik, Java, Command, Eclipse, Error, Minecraft Plugin

Java GUI für Game erstellen: Platzierungsprobleme?

Hallo,

ich soll eine grafische Oberfläche für ein Spiel kreieren. Es soll aus einem JLabel (Überschrift), drei JButtons (für Start, eins setzen, zwei setzen) und eine Zeichnung (Graphics g) bestehen. Jetzt geht es erst einmal nur darum, dass richtig zu platzieren. Ich habe schon jegliche Layouts ausprobiert, aber ich bekomme es einfach nicht hin.

So soll es aussehen:

So bekomme ich es höchstmöglich hin:

Das ist der Code:

public class MyUI {
  public static void main(String[] args) {
    JFrame fenster = new JFrame("NIM-Spiel");
    MyJPanel grafiken = new MyJPanel();
    JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());

    GridBagConstraints gbc = new GridBagConstraints();
    gbc.insets = new Insets(5, 5, 5, 5);

    JLabel ueberschrift = new JLabel("Variante des NIM-Spiels");+
    ueberschrift.setFont(new Font("ARIAL", Font.BOLD, 25));
    ueberschrift.setVerticalAlignment(JLabel.TOP);
    ueberschrift.setHorizontalAlignment(JLabel.CENTER);
    panel.add(ueberschrift);

    JButton startButton = new JButton("START");
    gbc.gridx = 0;
    gbc.gridy = 1;
    gbc.fill = GridBagConstraints.HORIZONTAL;
    panel.add(startButton, gbc);

    JButton button1 = new JButton("Eins setzen");
    gbc.gridx = 0;
    gbc.gridy = 2;
    panel.add(button1, gbc);

    JButton button2 = new JButton("Zwei setzen");
    gbc.gridx = 0;
    gbc.gridy = 3;
    panel.add(button2, gbc);

    fenster.setSize(1000, 570);
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fenster.setLocationRelativeTo(null);
    fenster.setResizable(false);
    fenster.setContentPane(grafiken);
    fenster.add(panel);
    fenster.setVisible(true);
  }
}

Mit dem GridBagLayout hatte ich die besten Ergebnisse. Aber perfekt ist das nicht, mit dem GridLayout ging es auch nicht. Das BorderLayout hat nur das JPanel richtig positioniert, dafür konnte ich das set vertical und horizontal alignment wegmachen.

Wäre es vielleicht die Lösung, ein BorderLayout zu kreieren, wo oben das JLabel platziert, unten dann die Zeichnung und in der Mitte für die Buttons ein GridLayout eingeschoben wird? Also ein Layout in einem Layout?

Das ist noch zusätzlich meine Klasse für die Zeichnung: https://pastebin.com/Z6QSAHpm

PS.: Erst durch Setzen von superpaint g wurde die Zeichnung überhaupt im Fenster erstellt. Woran liegt das?

Bild zum Beitrag
Computer, Technik, programmieren, Java, Eclipse, Informatik, Technologie, Grafische Oberfläche, Java Swing, Spiele und Gaming

Java, Eclipse. Konsolentext in GUI ausgeben?

Ich bin mehr als ein Anfänger. Es ist so, als würde man einem Kindergartenkind das Wurzelrechnen erklären, aber das müsst ihr garnicht, also keine Sorge. Eigendlich möchte ich garkein Programmieren mehr lernen. Ich möchte nur das dieses alte Programm aus ferner Vergangenheit vollständig ist.

Auf jeden Fall, folgendes Szenario:

Ich habe vor mehreren Jahren ein Programm geschrieben in Eclipse. Dieses Programm generiert zufällig Eigenschaften von Menschen z.B. gibt es Größe: klein und Größe: groß und es wird zufällig dazwischen entschieden und eins der Auswahlmöglichkeiten wir dann per System.out.println in der Konsole ausgegeben. Das Ganze läuft mit mehreren Eigenschaften durch, die alle nacheinander in der Konsole ausgegeben werden.

Nun, ich möchte alles, was in der Konsole erscheint in einem GUI ausgeben. JFrame, Textfield... Ich habe ehlich gesagt überhaupt keine Ahnung, was hier Sinn ergibt. Ich möchte nachher eine ausführbare Javadatei haben.

Was ich dafür brauche ist ein GUI, das ich noch nicht erstellt habe, was ich wahrscheinlich alleine auch garnicht vernünftig hinbekomme, und der Code, um in eben jene GUI den Konsolentext auszugeben.

Mein gesamter geschriebener Code ist nur in einer Klasse. Ansonsten habe ich nichts. Das sollte es zumindest etwas einfacher gestalten.

Am liebsten hätte ich einfach einen Code, den ich irgenwo in der selben Klasse einfügen kann und es funktioniert, aber wahrscheinlich ist das Ganze nicht so einfach.

Gibt es jemanden, der wüsste, wie ich meinen Fall so simpel wie möglich umsetzen kann und mir vielleicht sogar den nötigen Code dazu schreiben kann?

Extra: Wäre auch toll, wenn das Programm erst startet, wenn ich auf einen Button klicke und der Text sich an die Größe des Fensters anpasst, aber das ist mir eigendlich nicht wichtig. Hauptsache das Programm startet und der Text wird im Fenster ausgegeben.

Ich bedanke mich ganz herzlich im Voraus!

Computer, programmieren, Java, Eclipse

Meistgelesene Beiträge zum Thema Eclipse