Java – die neusten Beiträge

Auf unseren Minecraft Server kann man von außerhalb nicht mehr joinen Wie kann ich den fehler beheben?

Hier der Log: [16:03:59 INFO]: Starting minecraft server version 1.12.2 [16:03:59 INFO]: Loading properties [16:03:59 ERROR]: Exception handling console input java.io.IOException: Das Handle ist ungültig at java.io.FileInputStream.readBytes(Native Method) ~[?:1.8.0_144] at java.io.FileInputStream.read(Unknown Source) ~[?:1.8.0_144] at java.io.BufferedInputStream.read1(Unknown Source) ~[?:1.8.0_144] at java.io.BufferedInputStream.read(Unknown Source) ~[?:1.8.0_144] at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) ~[?:1.8.0_144] at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:1.8.0_144] at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:1.8.0_144] at java.io.InputStreamReader.read(Unknown Source) ~[?:1.8.0_144] at java.io.BufferedReader.fill(Unknown Source) ~[?:1.8.0_144] at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_144] at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_144] at nz$2.run(SourceFile:100) [minecraft_server.1.12.2.jar:?] [16:03:59 INFO]: Default game type: CREATIVE [16:03:59 INFO]: Generating keypair [16:04:00 INFO]: Starting Minecraft server on *:25565 [16:04:00 INFO]: Using default channel type [16:04:00 INFO]: Preparing level "Ellies World" [16:04:01 INFO]: Loaded 488 advancements [16:04:01 INFO]: Preparing start region for level 0 [16:04:02 INFO]: Preparing spawn area: 9% [16:04:02 WARN]: Keeping entity minecraft:sheep that already exists with UUID 46a95cc5-ef2a-43cb-8a83-855a777b1964 [16:04:03 WARN]: Keeping entity minecraft:pig that already exists with UUID ee8f37c1-8799-4bfb-a849-dacfaf2d8f24 [16:04:03 WARN]: Keeping entity minecraft:pig that already exists with UUID b66af173-357d-4e3f-9413-6dd813f8cbce [16:04:03 WARN]: Keeping entity minecraft:villager_golem that already exists with UUID 526f6043-8f47-4d58-81c6-9fecc06af3ed [16:04:03 WARN]: Keeping entity minecraft:chicken that already exists with UUID e88b8cfd-0b98-42cd-9e4d-a2c59cb09e2e [16:04:03 WARN]: Keeping entity minecraft:villager_golem that already exists with UUID effb2182-ebed-40f3-a2ef-22dbf1d415a2 [16:04:03 WARN]: Keeping entity minecraft:chicken that already exists with UUID 8eae591d-1a94-45a2-b407-66b09be98917 [16:04:03 INFO]: Preparing spawn area: 65% [16:04:03 WARN]: Keeping entity minecraft:chicken that already exists with UUID 3e1bcef9-3c66-451b-9c1c-158da0672205 [16:04:03 WARN]: Keeping entity minecraft:pig that already exists with UUID 477a9099-921e-4370-9ced-d2f20b6bdbed [16:04:03 WARN]: Keeping entity minecraft:chicken that already exists with UUID be2746a6-b35d-4cbe-b51f-f638df3fe8e1 [16:04:03 INFO]: Done (3,146s)! For help, type "help" or "?"

Server, Java, Minecraft, Fehlerbehebung, Minecraft Server

Java: Computer soll Zahl erraten?

Hallo, es geht um folgende Aufgabe: Der Spieler soll sich eine Zahl zwischen 1 und 1000 denken. Nun soll der Computer durch geschicktes Fragen innerhalb von 10 Versuchen diese Zahl erraten, natürlich ohne dass der Spieler ihm diese sagt. Meine Idee war, die Menge der möglichen Zahl als Intervall aufzufassen. Der Computer probiert es zunächst einmal mit der Mitte dieses Intervalls (am Anfang wäre es 500, denn 500 liegt genau in der Mitte von 1 und 1000). Dann fragt er den Spieler, ob die Zahl größer oder kleiner ist und passt dementsprechend das Intervall der möglichen Zahlen an, bis eben das Intervall so klein ist, bis er schließlich die richtige Zahl errät. Mit diesem Gedanken habe ich versucht, ein Programm zu schreiben, das aber leider nicht funktioniert und ich finde die Fehler einfach nicht selbst. Über Hilfe / Tipps würde ich mich sehr freuen! Danke!

import java.util.Scanner;
public class Aufgabe16 {
public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    // k dient als Zählvariable für die benötigten Versuche
    int k = 0;
    double g1, g2, mitte;
    // g1 ist die linke Grenze des Intervalls, in der die Zahl liegen muss
    g1 = 0;
    // g2 ist die rechte Grenze des Intervalls, in der die Zahl liegen muss
    g2 = 1000;
    // mitte ist die Mitte des Intervalls
    mitte = -1;
    // n als Eingabe des Spielers
    int n = -1;
    System.out.println("Denke dir eine beliebige Zahl zwischen 1 und 1000.");
    
    do {
    // Versuche zählen
    k = k + 1;
    // Mitte des Intervalls berechnen
    mitte = (g2 - g1) / 2;
    System.out.println(mitte);
    System.out.println("Ist die Zahl größer oder kleiner?");
    System.out.println("Drücke 0 für kleiner); 1 für größer; 2 wenn richtig erraten");
    n = input.nextInt();
    
    if (n == 0) {
        // Zahl ist kleiner als die Mitte des Intervalls 
        // also rechte Intervallgrenze anpassen
        g2 = mitte;
    } else {
        if (n == 1) {
            // Zahl ist größer als die Mitte des Intervalls 
            // also linke Intervallgrenze anpassen
            g1 = mitte;
        } else {
            if (n != 2) {
                // Wenn man was anderes als 0, 1, 2 eintippt, kommt Fehlermeldung
                System.out.println("Inkorrekte Eingabe!");
            }
        }
    }
    
// while-Schleife, bis der Spieler 2 drückt (richtig erraten)   
} while (!(n == 2));
    
    input.close();
    System.out.println("Die Zahl wurde erraten. Sie lautet " + mitte + ".");
    System.out.println("Der Computer hat " + k + " Versuche gebraucht.");
    

} }

Computer, programmieren, Java, Zahlen, Code, Informatik

Java: Text einlesen und Häufigkeit der Buchstaben analysieren?

Hey! Ich möchte einen Text einlesen und die Häufigkeit der Buchstaben analysieren. Dazu habe ich folgenden Code geschrieben. Leider ist dort irgendwo ein Logikfehler versteckt, den ich aber nicht finde :( Das Programm tut nicht, was es soll. Es wird für alle Buchstaben die Anzahl 0 ausgegeben, was ja nicht sein kann. Ich wäre sehr dankbar, wenn jemand meinen Denkfehler findet. Dankeschön! P.S: hab erst vor 2 Wochen mit Programmieren angefangen, also verurteilt meinen Code nicht gleich ^^

import java.io.*;

public class Buchstabenstatistik { public static void main(String[] args) throws IOException{

    // Es werden 180 000 Buchstaben des Textes "time" eingelesen und in einem char Array 'buchstaben' gespeichert
    FileReader reader = new FileReader("d:\\time.txt");
    int n1 = 180000;
    char[] buchstaben = new char[n1];
    reader.read(buchstaben);
    reader.close();
    
    // Alle Buchstaben des englischen Alphabets werden in einem char Array 'alphabet' gespeichert
    char[] alphabet = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x', 'y', 'z'};
    
    // Es wird ein neues int Array 'counter'angelegt, mit dem später gezählt werden soll, wie oft ein 
    // einzelner Buchstabe im Text vorgekommen ist
    int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z;
    a = b = c = d = e = f = g = h = i = j = k = l = m = n = o = p = q = r = s = t = u = v = w = x = y = z = 0;
    // Anfangs wird jedem Element des counters der Wert 0 zugewiesen, da ja noch keine Buchstaben gezählt wurden
    int[] counter = {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z};
    for (int i1 = 0; i1 < counter.length; i1 ++){
        counter[i1] = 0;    
    }
    
    // Jeder Buchstabe im Text (gespeichert im char Array 'buchstaben') wird mit jedem Buchstaben des englischen Alphabets
    // verglichen. Wenn sie übereinstimmen, wird der Array 'counter' an der jeweiligen Stelle im Array, der für einen
    // bestimmten Buchstaben steht, um 1 erhöht
    for (int k1 = 0; k < buchstaben.length; k++) {
        for (int k2 = 0; k2 < alphabet.length; k2 ++) {
            if (buchstaben[k1] == alphabet[k2]) {
                counter[k2] = counter[k2] + 1;
            }
        }   
    }
    // Die Anzahl jedes Buchstaben, der im Text vorgekommen ist, wird ausgegeben
    System.out.println("Anzahl der Buchstaben: ");
    for (int k3 = 0; k3 < counter.length; k3 ++) {
        System.out.println(alphabet[k3] + " : " + counter[k3]);
    }
    //Die prozentuale Häufigkeit der Buchstaben soll berechnet und ausgegeben werden
    // (Anzahl des Buchstaben im Text / Anzahl aller Buchstaben im Text) * 100% 
    System.out.println();
    System.out.println("Häufigkeit der Buchstaben in Prozent: ");
    double h1 = 0;
    for (int k4 = 0; k4 < counter.length; k4 ++) {
        h1  = (counter[k4] / n1) * 100;
        System.out.println(alphabet[k4] + " : " + h1 + " % ");
    }

}

}

Computer, IT, programmieren, Java, Code, Informatik, Häufigkeit

Wie behebe ich die Minecraft Fehlermeldung:,, Internal Exception: java.io.IOException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen ''?

Seit gestern kann ich nicht mehr auf Minecraft Servern spielen. Wenn ich auf einem Server bin, dann bleibt es kurz nach dem ich drin bin hängen und ich werde rausgeschmissen mit folgender Fehlermeldung:

Internal Exception: java.io.IOException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen

Daraufhin geht mein Internet auf diesem Laptop kurzzeitig aus.

An dem Router kann es nicht liegen, da sonst alles auf dem Laptop funktioniert. Außerdem funktionieren meine anderen Geräte auch.

Die alte Java Version habe ich bereits deinstalliert und die neue heruntergeladen, daran liegt es also auch nicht :/

EDIT:

Es ist nicht nur bei Minecraft so, sondern auch bei anderen Spielen. Die bleiben dann auch hängen und es folgt der oben genannte Internet-Absturz auf diesem Laptop.

EDIT: Das Problem ist jetzt nicht wirklich noch nur ein Minecraft Problem, sondern generell mit dem Internet auf diesem Laptop Ich habe den Laptop schon gestern Abend/Nacht zurückgesetzt (beim 1. Mal ohne Datenverlust, das war dann nicht und beim 2. Mal alles zurückgesetzt) Nun habe ich alles wieder eingestellt, jedoch wurde das Problem immer noch nicht gelöst :/ Woran kann es liegen ? Vielleicht doch am Router ?
Spiele, Internet, Windows, Java, Minecraft, Verbindung, Fehlermeldung, Kein internet, minecraft-fehlermeldung, Fortnite

Android Studio: App stürzt ab?

Hallo! Seit neuestem stürzt meine App immer an der gleichen Stelle ab. Habe versucht das Problem selber zu lösen, kam aber zu keiner Lösung. Ich bin über jede Hilfe dankbar :) Hier unten ist meine Logcat:

java.lang.RuntimeException: Unable to start activity ComponentInfo{mycompany.werwolf/mycompany.werwolf.test.Seite2_Karten_Activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2452)
                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
                                                                           at android.app.ActivityThread.access$900(ActivityThread.java:158)
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                           at android.os.Looper.loop(Looper.java:148)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:5521)
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:804)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:666)
                                                                        Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
                                                                           at mycompany.werwolf.test.Seite2_Karten_Activity.onCreate(Seite2_Karten_Activity.java:230)
                                                                           at android.app.Activity.performCreate(Activity.java:6446)
                                                                           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2405)
                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 
                                                                           at android.app.ActivityThread.access$900(ActivityThread.java:158) 
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364) 
                                                                           at android.os.Handler.disp
PC, Computer, App, Programm, programmieren, Java, Android

[Minecraft/Spigot/Java] Wie kann ich aus einem GameProfile Skins abspeichern?

Hallo,

ich würde gerne wissen wie ich aus dem GameProfile die für den Skin nötigen Daten bekomme, um diese abzuspeichern.

Es soll zu einem Cachingsystem dienen, damit auch beispielsweise die Köpfe von Spielern angezeigt werden können, die nicht online sind, ohne zu viele Anfragen an die Mojang Server zu stellen.

Folgenden Code nutze ich um das GameProfile von einem Spieler zu erhalten und diesem seinen eigene Kopf über die Informationen des GameProfiles zu geben. Dabei wende ich ein Object aus dem Reflection Bereich an (Field).

    public static ItemStack getFriendTool(Player p){
    
    SkullMeta freundeMeta = (SkullMeta) Bukkit.getItemFactory().getItemMeta(Material.SKULL_ITEM);
    GameProfile gp = ((CraftPlayer) p).getProfile();
    
    try {
        Field field = skullMetaClass.getDeclaredField("profile");
        field.setAccessible(true);
        try {
            field.set(freundeMeta, gp);
        } catch (IllegalArgumentException | IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        field.setAccessible(!field.isAccessible());
    } catch (NoSuchFieldException | SecurityException e) {
        e.printStackTrace();
    }
    freundeMeta.setDisplayName("§eFreunde");
    ArrayList<String> freundeLore = new ArrayList<String>();
    freundeLore.add("Mit einem Rechtsklick öffnest Du die Freunde Übersicht,");
    freundeMeta.setLore(freundeLore);
    ItemStack freundeTool = new ItemStack(Material.SKULL_ITEM,1, (byte)3);
    freundeTool.setItemMeta(freundeMeta);
    return freundeTool;
}

Dieser Code funktioniert bereits nur wäre es eben gut, wenn ich die nötigen Informationen aus dem GameProfile abspeichern könnte und diese wiederverwenden könnte.

Meiner Überlegung nach, müsste ich diese aus einem Property Object bekommen, leider hat aber eine Recherche nichts gebracht.

Vielen Dank für jegliche Hilfe.

Server, Computer, Internet, Programm, programmieren, Java, Minecraft, Minecraft Server, Spiele und Gaming

Meistgelesene Beiträge zum Thema Java