Java – die neusten Beiträge

Handsimulation - richtig?

Hallo, ich wollte mal gerne wissen, ob meine Handsimulation richtig ist.

Ich hoffe jemand kann mir dabei helfen :)

Aufgabe

Führt eine Handsimulation für folgendes Programm durch. Schreibt also in die Tabelle, welche Zeilen nacheinander ausgeführt werden (erste Spalte), und welche Werte die Variablen nach Ausführung dieser Zeile jeweils haben (die anderen Spalten).

  • Variablen, die zu diesem Zeitpunkt noch nicht existieren, werden mit - markiert
  • Variablen, deren Wert undefiniert ist, werden mit undef markiert
  • Felder von Variablen, die sich nicht ändern bleiben leer! Dies wird interpretiert als “gleicher Wert wie in der Zeile davor”. Das wiederholte Eintragen von Werten in Felder von Variablen die sich nicht ändern ist falsch (Das Eintragen eines Wertes bedeutet "der Speicher für die Variable bekommt an dieser Stelle (erneut) den angegebenen Wert zugewiesen").
  • Die erste ausgeführte Zeile einer Funktion ist immer die öffnende Klammer
  • Die letzte ausgeführte Zeile einer Funktion ist immer die schließende Klammer
  • Beim Sprung in eine Funktion wird hinter die aktuelle Zeile in Klammern die Zeile, aus der der Sprung stattgefunden hat, geschrieben (z.B: 7(14); Achtung: Bitte nur die Zahlen und die Klammern. Sollten Leerzeichen dazwischen kommen, erkennt ISIS die Lösung als falsch an).
  • Die Anzahl der Zeilen in der Tabelle ist abgezählt, die Vorgaben sind korrekt.

Programm

 
1 public class HuetchenSpieler {
2
3  public static void sortieren(Huetchen links, Huetchen mitte, Huetchen rechts) {
4   links.kugel = rechts.kugel;
5   rechts.kugel = mitte.kugel;
6   mitte = links;  
7  }
8
9
10  public static void main(String[] args) {
11   Huetchen l = new Huetchen(0);
12   Huetchen m = new Huetchen(0);
13   Huetchen r = new Huetchen(1);
14   Terminal.print("Wo ist die 1?\n links: "+l.kugel+", mitte: "+m.kugel+", rechts: "+r.kugel+" \n");
15   sortieren(l,m,r);
16   Terminal.print("Und jetzt .. \n links: "+l.kugel+", mitte: "+m.kugel+", rechts: "+r.kugel+" \n");
17   sortieren(l,m,r);
18   Terminal.print("Und jetzt .. \n links: "+l.kugel+", mitte: "+m.kugel+", rechts: "+r.kugel+" \n");
19  }
20 }

Das Objekt l erhält bei der Ausführung im Speicher Adresse 50, Objekt m Adresse 51 und Objekt r Adresse 52.

Um euch ein besseres Bild von der Klasse Huetchen machen zu können steht im folgenden der Quelltext. Bei

der Simulation soll sie aber vernachlässigt werden, nur HuetchenSpieler ist relevant. (Es muss also auch nicht

beim Konstruktoraufruf in die Klasse gesprungen werden!)

Die Klasse Huetchen

public class Huetchen {
  public int kugel;
 
  public Huetchen(int kugel) {
    this.kugel = kugel; 
  }
}

Bild zum Beitrag
Programm, Java, Simulation

BlueJ Methode für eine private Nachricht?

Hier ist der Code, ich brauche eine Methode mit der ich eine Nachricht an einen User an einen Server senden kann der nur dieser User sieht

public class EchoServer extends Server {

public EchoServer(int port) {

super(port);

System.out.println("Der DBG-ECHO-Server hat die IP " + getIP() + " und lauscht auf Port " + port + "!");

}

public void processNewConnection(String pClientIP, int pClientPort) {

System.out.println("Neue Verbindung von " + pClientIP + " : " + pClientPort + ".");

send(pClientIP, pClientPort, "Herzlich willkommen beim DBG-ECHO-Server, Quit um abzumelden, Everybody für Message an alle");

}

public void processMessage(String pClientIP, int pClientPort, String pMessage) {

if (pMessage.equals("Quit")) {

closeConnection(pClientIP, pClientPort);

}

if (pMessage.substring(0, 9).equals("Everybody")) {

sendToAll(pMessage);

}

System.out.println("Server hat Nachricht \"" + pMessage + "\" vom Client " + pClientIP + ":" + pClientPort + " empfangen.");

send(pClientIP, pClientPort, "Antwort vom DBG-ECHO-Server: Deine Nachricht lautete \"" + pMessage + "\".");

System.out.println("Server hat Nachricht \"" + pMessage + "\" an Client " + pClientIP + ":" + pClientPort + " zurückgesendet.");

//sendToAll(pMessage);

//closeConnection(pClientIP, pClientPort);

}

public void processClosingConnection(String pClientIP, int pClientPort) {

}

public void privateMessage(String pClientIP, int pClientPort, String pMessage) {

if (pMessage.substring(0, 9).equals(pClientIP)) {

System.out.println("User schrieb

send(pMessage);

}

}

public String getIP() {

try {

String ipAdresse = "" + InetAddress.getLocalHost();

String[] hostUndIP = ipAdresse.split("/");

String adressat = hostUndIP[0].trim();

ipAdresse = hostUndIP[1];

return ipAdresse;

}

catch (UnknownHostException e) {

e.printStackTrace();

Java, Code, Programmiersprache, Algorithmus

Ist das ein gutes Programm für String Suche in einer Datei (Java)?

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class StringSearchInFile {

    public static void main(String[] args) {
        String filePath = "text.txt"; // Pfad zur Textdatei
        String searchString = "gesuchterString"; // Der zu suchende String

        try {
            FileInputStream fis = new FileInputStream(filePath);
            InputStreamReader isr = new InputStreamReader(fis);
            BufferedReader br = new BufferedReader(isr);

            String line;
            int lineNumber = 1;
            boolean found = false;
            while ((line = br.readLine()) != null) {
                if (line.contains(searchString)) {
                    System.out.println("String gefunden in Zeile " + lineNumber + ": " + line);
                    found = true;
                    break; // Abbruch nach dem ersten Fund
                }
                lineNumber++;
            }

            if (!found) {
                System.out.println("String nicht gefunden.");
            }

            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Als Lösung für ein Übungsbeispiel. Es soll das erste Vorkommen eines Text in einer Datei gefunden werden.

Java, Code, Programmiersprache

Minecraft Server crasht beim Start?

Hi,

das hier steht im Log: "

PS F:\minecraft> java -Xmx8192M -Xms7168M -jar server-1.20.2.jar

Starting net.minecraft.server.Main

[12:16:51] [ServerMain/INFO]: Environment: Environment[accountsHost=https://api.mojang.com, sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]

[12:16:52] [ServerMain/INFO]: Loaded 7 recipes

[12:16:52] [ServerMain/INFO]: Loaded 1271 advancements

[12:16:52] [Server thread/INFO]: Starting minecraft server version 1.20.2

[12:16:52] [Server thread/INFO]: Loading properties

[12:16:52] [Server thread/INFO]: Default game type: SURVIVAL

[12:16:52] [Server thread/INFO]: Generating keypair

[12:16:52] [Server thread/INFO]: Starting Minecraft server on [Ip Andresse]

[12:16:52] [Server thread/INFO]: Using default channel type

[12:16:52] [Server thread/WARN]: **** FAILED TO BIND TO PORT!

[12:16:52] [Server thread/WARN]: The exception was: java.net.BindException: Cannot assign requested address: bind

[12:16:52] [Server thread/WARN]: Perhaps a server is already running on that port?

[12:16:52] [Server thread/ERROR]: Encountered an unexpected exception

java.lang.IllegalStateException: Failed to initialize server

       at net.minecraft.server.MinecraftServer.w(SourceFile:680) ~[server-1.20.2.jar:?]

       at net.minecraft.server.MinecraftServer.a(SourceFile:263) ~[server-1.20.2.jar:?]

       at java.lang.Thread.run(Thread.java:833) ~[?:?]

[12:16:52] [Server thread/ERROR]: This crash report has been saved to: F:\minecraft\.\crash-reports\crash-2023-12-01_12.16.52-server.txt

[12:16:52] [Server thread/INFO]: Stopping server

[12:16:52] [Server thread/INFO]: Saving worlds

[12:16:52] [Server thread/ERROR]: Exception stopping the server

java.lang.NullPointerException: Cannot invoke "akq.B_()" because "$$5" is null

       at net.minecraft.server.MinecraftServer.a(SourceFile:539) ~[server-1.20.2.jar:?]

       at net.minecraft.server.MinecraftServer.t(SourceFile:598) ~[server-1.20.2.jar:?]

       at ajn.t(SourceFile:542) ~[server-1.20.2.jar:?]

       at net.minecraft.server.MinecraftServer.w(SourceFile:699) ~[server-1.20.2.jar:?]

       at net.minecraft.server.MinecraftServer.a(SourceFile:263) ~[server-1.20.2.jar:?]

       at java.lang.Thread.run(Thread.java:833) ~[?:?]"

habt ihr Ideen, wie ich das beheben kann?

Danke

Linux, Java, Minecraft, Minecraft Server

Java Programm Gleichungssytem 3. Grades/Cramersche Regel?

Hallo, ich habe ein Programm erstellt, dass mithilfe der Cramerschen Regel ein Gleichungssytem 3. Grades löst (siehe unten) Nur kommt bei dem Ergebnis immer x1=0.0, x2=0.0 und x3=0.0 raus, egal was man eingibt. Ich finde den Fehler einfach nicht, kann mir da bitte jemand weiterhelfen?

LG

import java.util.*;
public class gs3 {
    public static void main(String[] args) {
        Scanner ein = new Scanner(System.in);
        System.out.println("Geben Sie den Koeffizienten des Gleichungssystems ein:");
        double[][] m = new double[3][4];
        for (int i = 0; i < 3; i++) {
            System.out.println("Gleichung " + (i + 1) + ":");
            for (int j = 0; j < 3; j++) {
                System.out.println("Koeffizient x" + (j + 1) + ":");
                m[i][j] = ein.nextDouble();
            }
            System.out.println("Rechte Seite: ");
            m[i][3] = ein.nextDouble();
        }
        double determinanteA = calculateDeterminant(m);
        if (determinanteA == 0) {
            System.out.println("Gleichungssystem nicht lösbar.");
        } else {
            double[] ergebnis = new double[3];
            for (int i = 0; i < 3; i++) {
                double[][] modifiedM = modifyM(m, i);
                double determinantModified = calculateDeterminant(modifiedM);
                ergebnis[i] = determinantModified / determinanteA;
            }
            System.out.println("Lösung: x1 = " + ergebnis[0] + ", x2 = " + ergebnis[1] + ", x3 = " +
                ergebnis[2]);
        }
        ein.close();
    }
    private static double calculateDeterminant(double[][] m) {
        double determinante = 0.0;
        determinante = m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1]) -
            m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0]) +
            m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]);
        return determinante;
    }
    private static double[][] modifyM(double[][] m, int column) {
        double[][] modifiedM = new double[3][3];
        for (int i = 0; i < 3; i++) {
            for (int j = 0, k = 0; j < 3; j++) {
                if (j != column) {
                    modifiedM[i][k++] = m[i][j];
                }
            }
        }
        return modifiedM;
    }
}

Computer, Programm, programmieren, Java, Array, codieren, Codierung, Informatik, Programmiersprache

Wieso findet mein Programm die Cookies nicht(Java, Selenium)?

Hallo,ich arbeite grad an einem Programm und zwar an einem Automatischen Login weil ich das bald im Büro brauch deswegen benutzte ich aktuell als Testseite phase6.deIch greife auf die Website zu das ist kein Problem auch innerhalb dort kann ich alles steuern login ausführen auf buttons klicken etc. Doch das kann ich erst machen wenn die Cookies akzeptiert sind und mein Programm findet egal mit welchem Code die Cookies der Website nicht, wenn ich sie manuell anklicke geht der rest wieder ohne probleme, aber die Cookies machen mir zuschaffenKann mir da jemand helfen, was für Cookies das sind und wie ich darauf zugreife habe es schon mit dem xpath, cssSelector, name, id alles versucht import org.openqa.selenium.By;

Das ist mein aktueller Code(keine Cookie abfrage aktuell drin da ich testen wollte ob wenn ich manuell draufklicke dann buttons gefunden werden

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.*;

import java.util.Set;
import java.util.concurrent.TimeUnit;


public class EdgeLogin {
    public static void main(String[] args) {
        // Setze den Pfad zum Microsoft Edge WebDriver
        System.setProperty("webdriver.edge.driver", "C:\\Users\\A020451\\EigeneDateien\\EdgeLogin\\msedgedriver.exe");

        // Erzeuge eine neue Instanz des EdgeDriver
        WebDriver driver = new EdgeDriver();

        // Navigiere zur Phase6-Website
        driver.get("https://www.phase6.de");



        try {
            TimeUnit.SECONDS.sleep(5);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }



        // Maximiere das Browserfenster
        driver.manage().window().maximize();

        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }


        driver.findElement(By.cssSelector(".p6-icon-login")).click();


    }
}

Das ist der HTML-Code von dem Button auf der main html seite

<button id="acceptAllCookies" class="btn btn-primary" onclick="setGdprCookieAll();closeThisModal()" xpath="1">
::before
<span class="icon_check hide"></span>
::after
</button>

HTML, Java, Programmiersprache, Selenium

Meistgelesene Beiträge zum Thema Java