Java – die neusten Beiträge

Spigot Tablist wird nicht richtig gesetzt?

Ich habe langsam keine Ahnung mehr was ich noch tun soll.

package game.squid.utils;

import org.bukkit.Bukkit;

import org.bukkit.ChatColor;

import org.bukkit.entity.Player;

import org.bukkit.scoreboard.Scoreboard;

import squid.game.games.BlockGame;

public class ScoreboardManager{

public static void registerScoreboard(Player p) {

for(Player all : Bukkit.getOnlinePlayers()) {

Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();

all.sendMessage("Debug1");

org.bukkit.scoreboard.Team teamBlue = board.registerNewTeam("TeamBlue");

org.bukkit.scoreboard.Team teamRed = board.registerNewTeam("TeamRed");

org.bukkit.scoreboard.Team teamYellow = board.registerNewTeam("TeamYellow");

org.bukkit.scoreboard.Team teamGreen = board.registerNewTeam("TeamGreen");

all.sendMessage("Debug3");

teamBlue.setPrefix(ChatColor.AQUA.toString() + "§bBLUE ");

teamRed.setPrefix(ChatColor.RED.toString() + "§cRED ");

teamYellow.setPrefix(ChatColor.YELLOW.toString() + "§eYELLOW ");

teamGreen.setPrefix(ChatColor.GREEN.toString() + "§aGREEN ");

all.sendMessage("Debug4");

all.setScoreboard(board);

if(Team.getTeam(p) == BlockGame.blueTeam) {

teamBlue.addEntry(p.getName());

all.sendMessage("Debug5");

continue;

}

if(Team.getTeam(p) == BlockGame.redTeam) {

teamRed.addEntry(p.getName());

all.sendMessage("Debug6");

continue;

if(Team.getTeam(p) == BlockGame.yellowTeam) {

teamYellow.addEntry(p.getName());

all.sendMessage("Debug7");

continue;

}

if(Team.getTeam(p) == BlockGame.greenTeam) {

teamGreen.addEntry(p.getName());

all.sendMessage("Debug8");

continue;

}

}

}

}

Bild zum Beitrag
programmieren, Java, Minecraft, Minecraft Server, Plug-in, Spigot

Welche verschieden Arten von Systemen gibt es (eingebettete Systeme etc)? Wer kann kontrollieren ob ich die Systeme richtig zugeordnet hab (siehe Foto)?

Ist die Tabellenkalkulationssoftware auf dem PC ein System von Systemen oder ist es eine eigenständige Anwendung?
Und was für ein System ist das Blutdruckmessgerät?

Mit freundlichen Grüßen

1 Eigenständige (stand-alone) Anwendungen: Dies sind Anwendungssysteme, die auf einem lokalen Rechner wie einem PC laufen. Sie besitzen alle nötigen Funkti- onalitäten und müssen nicht mit einem Netzwerk verbunden sein. Beispiele sol- cher Anwendungen sind Office-Anwendungen auf einem PC, CAD-Programme, Software zur Fotobearbeitung usw.

2 Interaktive transaktionsbasierte Anwendungen: Diese Anwendungen werden auf einem entfernten Computer ausgeführt. Die Benutzer können entweder von ihren eigenen PCs aus oder über Terminals darauf zugreifen. Hierzu gehören sicherlich Webanwendungen wie E-Commerce-Anwendungen, bei denen man mit einem entfernten System verbunden ist, um Waren und Dienstleistungen zu kaufen. Diese Anwendungsklasse enthält auch Geschäftssysteme, wobei der Zugang zu diesen Systemen über einen Webbrowser oder über spezielle Client-Programm- und Cloud-basierte Dienste wie E-Mail und Foto-Sharing erfolgt. Interaktive An- wendungen benötigen häufig einen großen Datenspeicher, auf den bei jeder Transaktion zugegriffen wird und der dabei jeweils aktualisiert wird.

3 Eingebettete Steuerungssysteme: Dies sind Softwaresteuerungssysteme, die Hard- waregeräte steuern und verwalten. Zahlenmäßig gibt es wahrscheinlich mehr ein- gebettete Systeme als irgendeine andere Art von System. Beispiele für eingebet- tete Systeme sind die Software in einem Mobiltelefon, Software zur Steuerung des Antiblockiersystems im Auto und Mikrowellensoftware zum Steuern des Kochvorgangs.

4 Unterhaltungssysteme: Dies sind Systeme, die in erster Linie für die private Nut- zung gedacht sind und die zur Unterhaltung ihrer Nutzer dienen. Die meisten dieser Systeme sind Spiele. Die Qualität der angebotenen Benutzerinteraktion ist das wichtigste Unterscheidungsmerkmal von Unterhaltungssystemen.

5 Datenerfassungssysteme: Dies sind Systeme, die mithilfe von Sensoren Daten aus ihrer Umgebung sammeln und diese Daten an andere Systeme zur Verarbeitung senden. Die Software muss mit Sensoren interagieren und wird oft in einer le- bensfeindlichen Umgebung oder unter extremen Bedingungen installiert wie bei- spielsweise innerhalb eines Motors oder an einem unzugänglichen Ort.

6 Systeme von Systemen: Diese sind Systeme, die aus vielen anderen Softwaresys- temen zusammengesetzt sind. Einige davon können allgemeine Softwarepro- dukte wie ein Tabellenkalkulationsprogramm sein. Andere Systeme in dem Ver- bund sind eventuell speziell für diese Umgebung geschrieben worden.

Bild zum Beitrag
PC, Computer, Software, Technik, Hardware, programmieren, System, Java, Elektrotechnik, compiler, datenerfassung, Datenbank, Informatik, Python, Softwareentwicklung, Technologie, Datenbanksystem, Frontend, IT-Studium, Backend-Developer

Glückliche oder Traurige Zahl?

Aufgabenstellung:

Die Dezimalziffern einer natürlichen Zahl n, n ≥ 1, werden einzeln quadriert und addiert. Anschließend wird mit der entstandenen Summe genauso verfahren. Die Ausgangszahl n ist fröhlich, wenn man bei diesem Vorgehen schließlich auf die Zahl 1 stößt, ansonsten ist sie traurig. Beispielsweise ist 7 eine fröhliche Zahl

Schreiben Sie ein Java-Programm, das alle fröhlichen Zahlen zwischen einer Unter- und einer Obergrenze berechnet und die zugehörigen Folgen ausgibt.

Der Dialog soll folgendermaßen ablaufen:

untere Grenze ein: 5

obere Grenze ein: 30

7 -> 49 -> 97 -> 130 -> 10 -> 1

10 -> 1

13 -> 10 -> 1

19 -> 82 -> 68 -> 100 -> 1

23 -> 13 -> 10 -> 1

28 -> 68 -> 100 -> 1

import java.util.Scanner;

public class GlücklicheZahl2 {
    private int counter = 0;
    private int[] summenSpeicher = new int[1];
    private int zahl;
    int summenCounter = 0;
    Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        GlücklicheZahl2 zahl = new GlücklicheZahl2();
    }

    public GlücklicheZahl2() {
        /*System.out.print("Zahl? ");
        int zahl = scanner.nextInt();*/
        System.out.print("untere Grenze? ");
        int untereGrenze = scanner.nextInt();
        System.out.print("obere Grenze? ");
        int obereGrenze = scanner.nextInt();
        for (int i = untereGrenze; i <= obereGrenze + 1; i++) {
            this.zahl = i;
            this.summenSpeicher = new int[1];
            createIntArray(i);
        }
    }
    public void rechnung(int[] intArray) {
        boolean glücklich = false;
        int summe = 0;
            for (int i = 0; i < intArray.length; i++) {
                summe += intArray[i] * intArray[i];
            }
            if (summe == 1) {
                glücklich = true;
            }
            if (summenCounter >= summenSpeicher.length) {
                int[] tmpArray = new int[summenSpeicher.length + 1];
                for (int i = 0; i < summenSpeicher.length; i++) {
                    tmpArray[i] = summenSpeicher[i];
                }
                summenSpeicher = tmpArray;
            }
            summenSpeicher[summenSpeicher.length - 1] = summe;
            summenCounter++;
            if (glücklich) {
                System.out.print(zahl);
                for (int i = 0; i < summenSpeicher.length; i++) {
                    System.out.print(" -> " + summenSpeicher[i]);
                }
                System.out.println("");
            }   else {
                if (counter < 50) {
                    counter++;
                    createIntArray(summe);
                }
            }
    }

    public void createIntArray(int x) {
        String wert = Integer.toString(x);
        char[] wertarray = wert.toCharArray();
        int[] intArray = new int[wertarray.length];
        for (int i = 0; i < wertarray.length; i++) {
            intArray[i] = Character.getNumericValue(wertarray[i]);
        }
        rechnung(intArray);
    }
}
programmieren, Java, Informatik

Wie stelle ich mithilfe compareTo() die natürliche Objektreihenfolge her (Java)?

Ich habe heute über die compareTo()-Methode des Comparable-Interfaces gelesen, man würde sie wie folgt verwenden:

"If your class objects have a natural order, implement the 

Comparable<T>

 interface and define this method."

Aber wie kann ich compareTo() implementieren, um die natürliche Reihenfolge der Objekte herzustellen?

Beispiel: Ich sollte Studenten nach ihrer Punktzahl sortieren, habe dann compareTo() wie folgt überschrieben:

@Override
public int compareTo(Student student) {
    if(this.points > student.points)
        return 1; //current student is better
    return 0;
}

Allerdings returnt das ja jetzt nur einen bestimmten Wert, mit dem man dann arbeiten könnte, wenn man anschließend die Studenten z.B. in eine Liste packen will, aber es stellt ja nicht bereits in der Methode selbst die Objektreihenfolge her. Ich verstehe auch gar nicht, wie das gehen soll, wenn ich z.B. will, dass die Klasse Student das Interface Comparable implementiert. Ich meine, wenn ich dann ein Objekt erzeuge, dann kann ich auf dieses und ein anderes diese Methode anwenden, aber ich bräuchte ein weiteres Hilfsmittel, um die Studenten zu ordnen, wie eben z.B. besagte Liste.

Ist es also irgendwie möglich, compareTo() so zu überschreiben, dass es automatisch Studenten oder allgemein Objekte in ihre natürliche Reihenfolge bringt oder brauche ich dafür immer noch weitere Hilfsmittel?

Oder habe ich compareTo() auf richtige Weise überschrieben?

LG Kath

PS:
In der Doku steht ebenfalls Folgendes über Comparable():

This interface imposes a total ordering on the objects of each class that implements it. This ordering is referred to as the class's natural ordering, and the class's compareTo method is referred to as its natural comparison method.

programmieren, Java, Informatik, Interface, Objektorientierte Programmierung

Meistgelesene Beiträge zum Thema Java