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
Greenfoot/Java: Wie verhindere ich, dass sich die beiden Charaktere gegenseitig überlappen und wie füge ich eine Lebensanzeige hinzu?

Also ich arbeite in der Schule im Moment mit Greenfoot und programmiere eine Art Street Fighter. Ich habe bei den folgenden beiden Dingen Probleme:

Also erstens kriege ich es nicht hin, dass die beiden Charaktere sich gegenseitig nicht überlappen. Sie rennen also durcheinander durch.

Das zweite Problem ist Folgendes: Ich möchte eine Lifebar, also eine Lebensanzeige hinzufügen.

Ich bin noch nicht dabei, es zu animieren, sondern einfach dabei, dass das Programm stoppt, wenn der Spieler keine Leben mehr hat. Es funktioniert aber einfach nicht. Es stoppt einfach immer viel zu früh, sobald ich Kontakt zum anderen Spieler habe, aber noch nicht schlage.

Ich kann leider nicht den gesamten Code hier reinkopieren, da er die Maximallänge überschreitet. Wer mir so nicht weiterhelfen kann, sich aber nicht mit dem Thema auskennt, der kann mich privat anschreiben. Dann kann ich die ganze Datei rüberschicken.

Hier also nur der wahrscheinlich relevante Teil des Codes:

In fighter1:

public static boolean hit = false;

public void attack1() {
  if (Greenfoot.isKeyDown("h") && !Greenfoot.isKeyDown("k") && !Greenfoot.isKeyDown("b")) {
    setImage("FH.png");
    hit = true;
  }
  else {
    hit = false;
  }

  if (!Greenfoot.isKeyDown("h") && !Greenfoot.isKeyDown("k") && !Greenfoot.isKeyDown("b")) {
    setImage("FN.png");
  }
}

Fighter 2:

public void lifebar() {
  if (Fighter1.hit = true && isTouching(Fighter1.class)) {
    lifebar = lifebar - 50;
  }

  if (lifebar <= 0) {
    Greenfoot.stop();
  }
}
Computer, programmieren, Java, Greenfoot
Wie gebe ich Inhalte korrekt beim Methodenaufruf in BlueJ ein?

Hallo allerseits,

ich hoffe jemand kann mir bei meinem Denkfehler helfen. (Kurzfassung am Ende)

Ich habe Informatik (11.Klasse, 2.Lehrjahr) in der Schule und habe zuhause selbst ein eigenes Projekt in BlueJ begonnen, unabhängig vom Unterricht. Dabei versuche ich neue Inhalte aus dem Unterricht spaßeshalber in dem Projekt zu wiederholen.

Zu meinem Projekt: Ich wollte einen Laden/Supermarkt erstellen, der (recht rudimentär) über die Konsole Feedback gibt und über Methodenaufrufe gesteuert wird.

Vor einiger Zeit haben wir in der Schule mit Strukturen wie Array, List, Stack und Queue abgeschlossen, gehen darauf aber nun mit neuem Wissen zurück ans aktive Programmieren. Deshalb wollte ich meinen Laden nun über List neu programmieren, es sollen also alle möglichen Produkte in einer List gespeichert sein.

Unser Lehrer hat uns eine bereits erstellte Klasse List ausgeteilt, anstatt mit ArrayList zu arbeiten. Ich nutze diese Klasse auch in meinem Projekt, sie besitzt soweit ich weiß auch in etwa dieselben Fähigkeiten wie ArrayList und heißt List<ContentType>.

Also war mein Gedankengang für die neue Umsetzung:

  1. Klasse Produkt erstellen mit den Attributen int Preis, int Warennummer und String Name (bei Preis macht double rückblickend mehr Sinn); siehe Bild

2.Klasse Inventar erstellen, bei der man Produkte in das Inventar einfügen kann, etc.; Sie besitzt eine List<Produkt> produktliste; siehe Bilder (2 und 3)

Insgesamt ist das noch nicht alles durchdacht oder vollständig, und orientiert sich etwas an dem was wir im Unterricht in ähnlicher Form bereits programmiert haben (in Form einer Bibliothek). Ist sicher alles sehr ineffizient und kann besser umgesetzt werden.

Wahrscheinlich lacht ihr über meine Gedankenblockade, aber ich kann mich in keinster Weise mehr daran erinnern, wie ich bei dem Methodenaufruf produktHinzufuegen(Produkt pProdukt) der Klasse Inventar mein nachgefragtes Produkt angebe. Muss ich das mit Schweifklammern angeben, eine bestimmte Methode aufrufen, habe ich etwas bei der Deklarierung etc. vergessen? Ich bin gerade etwas hilflos und habe auch schon verschiedene Eingaben ausprobiert.

Wäre super, wenn jemand mir auf die Sprünge helfen könnte.

Kurzfassung: Laden/Supermarktprojekt in BlueJ, mit einer allgemeinen Klasse Produkt. Über Klasse Inventar können dem Inventar List<Produkt> neue Produkte hinzugefügt werden. Wie gebe ich dieses Produkt bzw. mehrere Produkte bei Methodenaufruf produktHinzufuegen(Produkt pProdukt) korrekt an? Muss ich etwas anders programmieren?

(Netto war das ursprüngliche Projekt mit einer einzigen Klasse und String; die Klasse Laden ist noch leer, abgesehen von der Erzeugung eines Regales vom Typ Inventar)

Gerne nachfragen, falls ich etwas nicht gut erklärt habe oder anderweitig Bilder schicken soll. Für Tipps und allgemeine Verbesserungsvorschläge bin ich immer offen!

Bild zum Beitrag
Schule, programmieren, Java, BlueJ, Informatik

Meistgelesene Beiträge zum Thema Java