Java ArrayList BUG?

Ich habe eine Klasse "AndererTest", "xyPosition" und eine Klasse "Testerklasse".In der Klasse "AndererTest" wird eine ArrayList namens "abzufragendeKoordinaten" erstellt und außerdem auch ein mehrdimensionales Array "stringarray", welches Strings speichert. Ich möchte die Inhalte des "stringarray" ausgeben, aber in zufälliger Reihenfolge. Voher habe ich in der Klasse "TesterKlasse" - welche quasi hier die Main - Klasse mit der main methode sein soll - strings dem "stringarray" zugeordnet:

Klasse TesterKlasse:

Ausgegeben soll das "stringarray" mit der Methode arrayDurchlaufen(). Ausgegeben wird aber immer nur:

anstatt z.B.:

stringarray[2] [0] = f;
stringarray[1] [1] = "d";
stringarray[0] [2] = "b";
stringarray[2] [2] = "h";
//...

Hier ist der Code zur kritischen Klasse "AndererTest":

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;

public class AndererTest {
static Random random = new Random();
    static xyPosition nullnull = new xyPosition(0,0);
    static xyPosition nulleins = new xyPosition(0,1);
    static xyPosition nullzwei = new xyPosition(0,2);
    static xyPosition einsnull = new xyPosition(1,0);
    static xyPosition einseins = new xyPosition(1, 1);
    static xyPosition einszwei = new xyPosition(1, 2);
    static xyPosition zweinull = new xyPosition(2, 0);
    static xyPosition zweieins = new xyPosition(2, 1);
    static xyPosition zweizwei = new xyPosition(2, 2);
    static ArrayList<xyPosition> abzufragendeKoordinaten = new ArrayList<>(Arrays.asList( nullnull, nulleins, nullzwei, einsnull, einseins, einszwei, zweinull, zweieins, zweizwei));

static String[] [] stringarray = new String[3] [3];
static int zufälligeMöglicheyPosition;
static int zufälligeMöglichexPosition;

public int getZufälligeMöglicheyPosition() {
    return zufälligeMöglicheyPosition;
}

public int getZufälligeMöglichexPosition() {
    return zufälligeMöglichexPosition;
}


public static void durchlaufeArray() {
    for (int i = 0; i < 9; i++) {
    int grenzeminuseins = abzufragendeKoordinaten.size() - 1;
   int zufälligerindex = random.nextInt(abzufragendeKoordinaten.size() - 1) + 0;

zufälligeMöglicheyPosition = abzufragendeKoordinaten.get(zufälligerindex).gety();
    
zufälligeMöglichexPosition = abzufragendeKoordinaten.get(zufälligerindex).getx();
abzufragendeKoordinaten.remove(zufälligerindex);

System.out.println("stringarray[" + zufälligeMöglicheyPosition + "] [" + zufälligeMöglichexPosition + "] = " + stringarray[zufälligeMöglicheyPosition] [zufälligeMöglichexPosition]);
 
}
}
}

Der Code zur Klasse xyPosition ist einfach und hier liegt der Fehler bestimmt nicht drin:

public class xyPosition {

static int x;
static int y;
public static Object xyPosition;
    
public xyPosition(int pX, int pY) {
x = pX;
y = pY;
    }

public int getx() { return x; }
public int gety() { return y; }
}

Bilder habe ich hier nur wegen der "nicht mehr genug Zeichen" - Funktion verw.
Biite helft mir, ich sitze schon seit 2 Tagen vor diesem Bug🤬

Bild zum Beitrag
Software, programmieren, Java, Informatik, Programmiersprache, Softwareentwicklung
Passwort entfernen über CMD mit bat. und ba-Datei Fehler?

Hey!

Vorweg schonmal: ich bin nicht sonderlich vertraut mit CMD und jeglichen Dingen, die aus Zeichen und Zahlen und Buchstaben entstehen, wenn es sich dabei um technische Sachen handelt.
Beim Durchforsten meines alten Schul-Netbooks habe ich eine Datei gefunden, die mit einem Passwort geschützt ist - genauer ist es eine ZIP-Datei.

Viele Anleitungen haben nur zu irgendwelchen Programmen geführt, die das Passwort knacken können sollen, aber das verlief ziemlich im Sand.
Zwei Anleitungen hatten etwas mit mehr Text zu tun, wovon eine direkt zu Beginn gescheitert war.
Die andere ist so gut wie perfekt gewesen, aber irgendwo muss ich einen Fehler gemacht haben.
https://www.passcope.com/de/how-to-remove-password-from-zip-file-if-forgot-zip-password/
Die letzte Anleitung auf der Seite ist es, aber hier kommen auch nochmal Bilder davon.

Es ist die Rede davon, dass man ein CMD Line-Tool benötigt. Damit ist im Grunde nur das CMD-Tool gemeint, das bei jedem Pc schon mit drauf ist, richtig?

War ein wenig fizelig, das alles rauszuschreiben, aber scheint eigentlich alles da zu sein. Bei den Gleichzeichen ganz oben (sind doch Gleichzeichen, oder?) und den Bindestrichen gab es Schwierigkeiten, aber bei dem ersten Bild konnte man das dann besser ablesen.

Mit dem Explorer an sich konnte ich die eigentliche Zip-Datei nicht ändern, da sich durch's Anfügen der .ba-Endung nur der Name geändert hat, in winrar konnte ich es dann.

Beide Dateien liegen auf dem Desktop

Wenn ich die bat-Datei öffne, taucht auch genau das auf, ich gebe den Dateinamen ein, kopiere aus den Eigenschaften der ba-Datei den Pfad und wenn ich nochmal Enter drücke, schließt sich das Programm ohne seinen Zweck zu erfüllen.

Rechts taucht dann (sobald ich die batch-Datei öffne) dieses "UnRAR" und es bleibt auch, wenn sich CMD wieder schließt.

Ja, ist jetzt ziemlich lang geworden, aber dachte dass der Weg zum Problem wichtig sein könnte.
Wo könnte der Fehler liegen?
Oh und wenn ich das Passwort so rauskriegen sollte, wie kann ich's dann bei der Zip-Datei eingeben? Es ist ja keine Datei mehr, die ich irgendwie öffnen kann. Also ich habe halt noch Kopien davon (sicher war sicher), aber lässt sich die Datei auch wieder "normal" in ihre Ursprungsform bringen?

Danke schon einmal im Voraus und hoffentlich hat sich das jemand alles durchgelesen lol
Falls euch ein besserer Titel für die Frage einfällt nur her damit (ebenso bei den Tags)

Bild zum Beitrag
Computer, Windows, programmieren, WinRAR, Batch, cmd, Command, Eingabeaufforderung, passwort knacken, zip-datei
Java Referenzdatentypen?

Mir ist ein bestimmter Aspekt, und zwar der Sinn einer Referenz noch nciht ganz klar geworden:

Primitiver Datentyp:

int zahl = 8;

Hier wird ja mit der Deklarierung der Variable zahl eine Adresse für einen gerade freien Speicherplatz erzeugt und in diesem Speicherort der Wert der Variable, 8, abgelegt.
So wie in meiner Zeichnung:

Referenzdatentyp:

Mensch mensch1 = new Mensch(16); //16 = pAlter

Hier wird auch mit der Variable einem gerade freien Speicherplatz eine Adresse zugeordnet. Dann wird in dem freien Speicherplatz, glaube ich, nichts (kein Variablen Wert (new Mensch(16) ) ) abgelegt, sondern nur eine komplett andere Adresse. Folgt man dieser Adresse und guckt in dem durch sie verwiesenen Speicherplatz nach, findet man da unseren Variablen - Wert = new Mensch(16).
Wie in meiner Zeichnung hier:

Was ich jetzt nicht so richtig verstehe ist, warum wird unser Variablenwert (unser neues menschen - objekt) unter einer anderen Adresse abgelegt, als der, der der Variable "mensch1"eigentlich zugeordnet wurde? Sprich: Wozu eine Referenz auf eine andere Adresse (ich glaube immer Referenz auf eine andere Adresse, vielleicht ist es aber auch in WIrklichkeit eine Referenz auf das neue Menschen Objekt?)? Warum nicht so wie beim primitiven Datentypen machen, also so wie bei meiner Zeichnung hier unten?:

omg, diese logik - aber es macht mir Spaß, zu programmieren und ich möchte alles unbedingt verstehen !😊

Bild zum Beitrag
Software, Schule, IT, programmieren, Java, Informatik, Programmiersprache, Softwareentwicklung
Unity - Object reference not set to an instance of an object?

Hallo, weiß jemand wie ich in Unity diesen NullReferenceException Fehler beheben bzw. fixen kann? Kenne mich noch nicht so richtig mit C# und Unity aus. Daher weiß ich auch nicht, wie ich mit diesen Fehler umgehen kann. Habe in Unity 3D eine Shop Scene gemacht, und habe dann dieses Script für die Buttons und den Shop allgemein gemacht, um Skins kaufen zu können und die Game Coins mit den Buttons zu verbinden. Ich habe ein "Debug.Log" erstellt. Um zu schauen, dass wenn ich auf den Button klicke, in der Konsole dann steht als Beispiel "Button wurde geklickt!" doch stattdessen steht dort immer als Fehler "NullReferenceException: Object reference not set to an instance of an object

ShopManager.Start () (at Assets/Scripts/Best/ShopManager.cs:15)"

Hier ist das Script für den Shop, und die Buttons. (C#):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class ShopManager : MonoBehaviour
{


    public int kontostand;
    public Text kontostandText;


    // Start is called before the first frame update
    void Start()
    {
        kontostandText.text = kontostand.ToString();
    }


    public void ItemKaufen(int itemPreis)
    {
        // Kontostand überprüfen
        if(kontostand >= itemPreis)
        {
            Debug.Log("Item wurde gekauft");
            // Item zum Inventar hinzufügen
            // Kontostand neu berechnen
            kontostand = kontostand - itemPreis;
            // Kontostand aktualisieren
        }
        
    }

Ich hatte mir ein Tutorial dazu angeschaut wie man es behebt, doch leider ohne Erfolg.

Weiß jemand, was das bedeutet/heißt und wie man es am einfachsten beheben kann, und wo da im Script der Fehler ist? Es soll ja angeblich in Zeile 15 sein. Ich hoffe, ihr versteht meine Message dazu ein wenig. Vielen Dank im voraus! :D

Bild zum Beitrag
Computer, Fehler, programmieren, C Sharp, Programmiersprache, Unity 3D, Visual Studio, Error Code, Unity, Spiele und Gaming
HTML input ausgeben?

Hallo Community,

ich habe einen Code für eine Webseite mit HTML geschrieben.

Nun ist es so, das ich den input von vier Feldern, welche sich oben auf der Webseite befinden, unten auf der Webseite angezeigt haben möchte. Ich habe schon viele Möglichkeiten im Internet gefunden, aber keine wollte so richtig funktionieren. Kann mir hier jemand bei meinem Problem helfen?

Bei dem Code kann ich euch nur einen Ausschnitt, nämlich den mit den betreffenden Teilen reinschicken, da die Frage sonst zu lang ist.

MfG Kuchenmonster31

Teilcode:

Feedbackwebsite
<form class="Formular" action="datenbank für website.py" method="post">
  Vorname:
  <input type="text" name="vorname" size="30" maxlength="50">
</form>
<!-- Nachname -->
<form class="Formular" action="datenbank für website.py" method="post">
  Nachname:
  <input type="text" name="nachname" size="30" maxlength="50">
</form>
<!-- Fedback für Coding School -->
<form class="Formular" action="datenbank für website.py" method="post">
  Feedback für die<br> Coding School:
  <textarea type="text" name="vorname" size="30" maxlength="1000"></textarea>
</form>
<!-- Feedback für Website -->
<form class="Formular" action="datenbank für website.py" method="post">
  Anmerkung zur <br> Website:
  <textarea type="text" name="vorname" size="30" maxlength="1000"></textarea>
</form>
<!-- Button damit die eingabe unten auf der Website angezeigt wird: -->
<button class="Button">Formular abschicken</button>
<h4 class="Ausgabe">Ausgabe:</h4>
HTML, Webseite, programmieren, CSS, Webdesign, Webentwicklung
H IL F E! Informatik Bug🤯!?

Java

habe eine klasse PriorityQueue. Diese speichert Objekte der Klasse QueueInhalt in einem Array namens queueinhalte. Die QueueInhalte - Objekte wiederrum speichern jeweils einen Verweis auf ein ein Objekt der Klasse ContentTypePerson.
Der Code der Klasse QueueInhalt ist kurz:

Das hier ist die add - Methode aus der PriorityQueue, jedenfalls der Teil für den Fall, wenn die Priorität des ContentTypePerson - Objektes (, wleches ja widerrum in einem QueueInhalt - Objekt gespeichert ist,) größer als Die des im Array am vordersten gelegenen Elements ist.

Es gibt auch noch eine Methode in der Klasse PriorityQueue, um den ArrayInhalt und so auszugeben (ich glaube, da liegt der folgende Fehler aber nicht):

Jetzt kommts: Ich habe ein Array der Größe 2 erstellt, ein Objekt ContentTypePerson mit dem Namen "A" erstellt und ihm beim Aufrufen der add Methode die Priorität 3 gegeben.
Beim Aufrufen der Methode gibInhalteDesArraysAus() kommt dann ensprechend:

Dann adde ich noch ein ContentTypePersonPerson - Objekt namens "B", diesmal mit der Priorität 4, damit der oben gezeigte Teil der add - Methode ausgeführt wird.
Doch dann wird ausgegegeben:

anstatt:
Inhalte: QueueInhalt@d54b68 (Name: B Priorität: 44) | QueueInhalt @17e26a8 (Name: A Priorität: 43)

HILFE! Wo ist der Bug? Ich sitze schon seit zwei Stunden hier fest! Sorry für so viele Bilder Code, ich bin mir nicht sicher in welchem Codeteil der Fehler liegen könnte

Bild zum Beitrag
Software, Schule, programmieren, Java, Informatik, Programmiersprache, Softwareentwicklung
Informatik "Rätsel"?

Programmiersprache: JavaWie stellt man bei der Datenstruktur Queue Objekte nicht hinten sondern vorne an? Also vom Code her.Kontext/Hintergrund von dieser Frage: Ich habe eine PriorityQueue. Doch dann soll plötzlich ein neues Objekt hinzugefügt werden, welches eine höhere Priorität als alle bereits in der PriorityQueue vorhandenen Objekte hat. (Da das hinzuzufügende Objekt ja die höchste Priorität hätte, müsste es ganz vorne in der PriorityQueue stehen).
Natürlich habe ich mir, bevor ich die Frage hier auf GF stelle, selbst nachgedacht, wie man das Problem lösen könnte. Bis jetzt ist mir aber nur

first = new QueueInhalt(pObject, pPriority);

eingefallen. Ich komme beim setNext(), also wenn der neue, eingefügte, Knoten QueueInhalt seinen Next - Link auf den ursprünglich an derselben Stelle (ganz vorne) gewesenen Knoten QueueInhalt setzt. (Wenn man ein Objekt hinten anstellt, schön nach FIFO halt, hätte ich kein Problem mit dem Setzen der next - links und first - links. Aber vorne anstellen? Keine Ahnung, wie das gehen soll.)
Danke und ein "Hilfreich" schonmal für eure Antworten😀

public void add(ContentTypePerson pObject, int pPriority) {
    QueueInhalt inhaltsobjekt = new QueueInhalt(pObject, pPriority);
    if (first == null) { //Wenn kein Objekt in der Queue vorhanden ist
    first = new QueueInhalt(pObject, pPriority);
    } else if (pPriority > first.getPriority()) {
    first = new QueueInhalt(pObject, pPriority);
//...?    
    }
}
Software, Schule, IT, programmieren, Java, Datenstrukturen, Informatik, Softwareentwicklung, Algorithmen und Datenstrukturen
Warum gibt es kein Super Mario Spiel mit Zufällig Generierte Level?

Hallo.

Also der selbe Jump and Run Level wird einestages langweilig, und das schlimme ist: Wenn man es mehr mals spielt, weißt man welche Strecke auf mich zu kommt. Und das ist so unrealistisch. Denn wenn ein Mensch Abenteuer reise machen muss, und man denn weg nicht kennt dann weißt man auch nicht welches Strecke erwarten wird. Und genau bei diese spiel ist es wichtig: Du darfs diese Strecke nie kennen.

Und deshalb müssen Levels bei Super Mario Zufällig Generiert. Doch die frage ist: Warum schafft Nintendo sowas gar nicht. Jetzt würde jeder sagen: "Zufällige Jump and run Level Generator ist nicht möglich". Nein das ist komplett falsch! Denn ich selber habe mit Game Maker Studio 2 hinbekommen ein Zufällige Jump and Run Generator zu erstellen.

Und das sind die ergebniss:

Und ich schwöre es: Diese Level habe ich nicht selber mit der Hand gemacht, sondern Ich habe das ganze nur im Code Geschrieben wie er generieren soll, und was er alles beachten muss damit man Levels immer schaffen kann (z. B. der Loch darf nur Maximal 3 Blöcke Lang werden). Und dann hat das ganze der Zufallsgenerator selber eingebaut.

Klar die Stacheln sehen noch nicht perfekt aus, da muss ich noch schauen wie ich das besser machen kann.

Deshalb ist die frage: Warum kann Nintendo z. B. auch nich sowas machen? Das wäre so genial New Super Mario Bros mit Zufällig Generierte Level für unendlich lange Spielspaß.

Bild zum Beitrag
Spiele, PC, Computer, Games, Nintendo, programmieren, Rechner, Mario, Super Mario, entwickeln, zufallsgenerator

Meistgelesene Fragen zum Thema Programmieren