Zum Inhalt springen

Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    2083
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    51

Alle Inhalte von Whiz-zarD

  1. @r4phi: Ja, hab ich korrigiert. Java ist chon zu lange her. Bin C# verwöhnt.😄 null check hab ich erst mal weggelassen. Ich glaub, das verwirrt noch mehr. Das ist jetzt schon alles recht verwirrend.
  2. Dafür brauchst du keine Map... public static void main(String[] args) { // Liste erzeugen List<Student> studentenDaten = new ArrayList<Student>(); // Liste mit Werten füllen studentenDaten.Add(new Student(...)); ... // Über die Liste iterieren for(Stundent student : studentenDaten) { // Student auf der Konsole ausgeben System.out.println("Student: " + student.getMatrikelnummer() + " | " + "Lieblingsfach: " + student.getLieblingsfach()); } } Eine Map wird benötigt, wenn du in einer Menge von Studenten einen bestimmten Studenten mittels der Matrikelnummer suchst: HashMap<integer, Student> students = new HashMap<integer, Student>(); students.put(1111, new Student("Test1", 1111, "Mathe")); Student student = students.get(1111); System.out.println("Student: " + student.getMatrikelnummer() + " | " + "Lieblingsfach: " + student.getLieblingsfach());
  3. Dann tu es doch. HashMap<integer, Student> studentenDaten = new HashMap<integer, Student>(); // Liste mit Werten füllen studentenDaten.put(..., new Student(...)); ... Und was hast du damit dann vor?
  4. Nein. Es ist doch inzwischen alles auf dem Tisch. Du musst doch nur noch alles zusammenfügen... public static void main(String[] args) { // Liste erzeugen List<Student> studentenDaten = new ArrayList<Student>(); // Liste mit Werten füllen studentenDaten.Add(new Student(...)); ... // Über die Liste iterieren for(Stundent student : studentenDaten) { // Student auf der Konsole ausgeben System.out.println(student.toString()); } } Ich glaub, das ist schon für dich schwierig genug und ich würde erstmal die HashMap weglassen und erst mal versuchen, den Code zu verstehen.
  5. Dann ist aber die Aufgabe falsch und ich glaube auch nicht, dass du verstehst, wofür man die Map benötigt. Es geht darum, dass man über einen Schlüssel den passenden Wert ermitteln kann. Den Schlüssel brauchst du aber hier gar nicht, da du nicht nach dem Schlüssel abfragst. Wenn du unbedingt eine HashMap haben möchtest und der Schlüssel die die Matrikelnummer sein soll, dann muss die HashMap so aussehen: HashMap<integer, Student> Anstatt einen String hast du nun einen Studenten als Wert.
  6. Was hast du denn mit der Map vor? Die brauchst du nicht. Mach einfach eine Liste von Studenten anstatt eine Liste von Strings. So schwer ist es doch nicht mehr. List<Student> studentenDaten = new ArrayList<Student>(); studentenDaten.add(new Student("Test", 111111, "Fach1")); ...
  7. Jetzt kannst du doch eine Liste von Studenten erstellen, anstatt eine Liste von String. Ein Student erzeugst du dann mit dem new-Operator: new Student("Test", 111111, "Fach1"); Dann kannst du einfach über die Liste iterieren und pro Student die toString()-Methode aufrufen: for(Student student : studentenDaten) { System.out.println(student.ToString()); }
  8. Vielleicht wird es ja deutlicher, wenn ich sage, dass String ein Datentyp ist, der beliebigen Text beinhalten kann. Dem String ist es egal, was für ein Text du da reinschreibst. Du hast also keine Studentendaten sondern nur Text, der zufällig serialisierte Werte für einen Studenten besitzt.
  9. String ist einfach nur ein Text.. Wenn du die Daten mit Semikolon getrennt in ein String packst, wie willst du denn auf die einzelnen Daten zugreifen? Das ist genau deine Frage und die Antwort ist, dass es nicht geht, ohne den String interpretieren zu müssen. D.h. man müsste erstmal aus dem String ein String-Array zu bauen und dann aus diesem Array den String holen, der sich an der jeweiligen Position befindet, wo wir auch unsere Daten vermuten. So macht man das aber nicht. Man entwickelt Klassen für die Daten. Arbeite am besten ein Java-Tutorial durch, da ich das Gefühl habe, dass du einfach von Softwareentwicklung noch nichts verstehst. Dir ist offenbar nicht mal klar, was ein Datentyp ist. Also die elementarsten Grundlagen der Informatik fehlen.
  10. Weil es eine Liste von Strings ist ... Ist dir klar, was ein String ist? Das ist einfach nur Text. Ich könnte auch folgendes schreiben: studentenDaten.add("Holla Die Weldfee"); studentenDaten.add("Übel übel, sprach der Dübel."); Du musst eine Klasse mit Studentendaten bauen, wie ich es schon vorgegeben habe. Dann hast du eine Liste von Studenten und kannst dann einfach auf die Eigenschaften zugreifen: for(Student student : studenten) { System.out.println(fach + "-->" + student.getLieblingsfach()); }
  11. Damit kannst du aber nichts anfangen... Versuchst du eigentlich überhaupt zu verstehen, was hier geschrieben wird? Das sieht für mich nicht danach aus, denn exakt die selbe Frage in diesem Thread hast du schon im anderen Thread gestellt... Ich hab sogar eine Vorlage vorgegeben, an die du dich orientieren könntest aber nein. Lieber ignorieren und die Frage noch mal stellen... 🙄
  12. Wenn man auch alles ignoriert, was hier geschrieben wird... 🙄 Das ist keine Datenklasse. Das ist nur eine Liste mit Strings...
  13. Verstehst du, was eine HashMap ist? Was hat du mit der HashMap vor? (Aber die Fragen werden wohl auch gekonnt ignoriert...)
  14. Das ist das selbe Thema, wie in deinem anderen Thread. Lies dir durch, was wir geschrieben haben... Verstehst du überhaupt, was eine HashMap ist?
  15. Ich würde sagen, nein. Im Studium wirst du kaum bis gar nichts lernen, was für den Beruf relevant sein könnte. Im Beruf geht es mehr darum, Server und Netzwerke aufzubauen und zu administrieren. Sowas lernt man nicht in einem Studium. Dort bekommt man höchstens nur die Grundlagen der Netzwerktechnik (OSI-Modell, Netzwerktopologie, ...) gelehrt, die man aber auch in der Ausbildung gelehrt bekommt. Ein Studium ist auch keine Berufsausbildung. Es geht um das wissenschaftliche Lernen und nicht darum, wie man einen Domänencontroller installiert und die Benutzer im Active Directory verwaltet.
  16. Nein, das ist keine Polymorphie. Das ist Vererbung. Polymorphie beschreibt die Überschreibung von Methoden. Ich überschreibe aber keine Methoden, sondern möchte mit den Unterklassen weitere Eigenschaften hinzufügen.
  17. Ich würde eher vorschlagen, dass du dich mehr mit dem Prinzip der Objektorientierung auseinandersetzt. Es sieht sehr danach aus, als würdest du noch nicht so ganz verstehen, was du da machst. Um auf die einzelnen Buch-Daten zuzugreifen zu können, benötigst du erst mal eine Book Klasse public class Book { private string title; private BigDecimal price; private int edition; public Book(string title, BigDecimal price, int edition) { this.title = title; this.price = price; this.edition = editon; } public string getTitle { return this.title; } public BigDecimal getPrice { return this.price; } public int getEdition { return this.edition; } } eBooks und Audiobooks haben ja noch andere Eigenschaften als ein normales Buch. Daher musst du für diese noch zusätzliche Ableitungen schreiben, die dann von Book erben. (Stichwort "Vererbung") Dann könntest du die Liste so erstellen: (Ich beschränke mich hierbei auf die Eigenschaften von Book) public static List<Book> getSelledBooks() { List<Book> result = new ArrayList<Book>(); result.add(new EBook("booktitle1", 19.99, 2020)); result.add(new EBook("booktitle2", 4.99, 2020)); result.add(new AudioBook("booktitle3", 22.99, 2016)); result.add(new EBook("booktitle4", 4.99, 2020)); return result; } Dann kannst du auch die Preise einfach mit der getPrice()-Methode auslesen. Aber ich würde dir empfehlen, ein Tutorial durchzuarbeiten, um das Prinzip der Objektorientierung zu verstehen.
  18. Ich persönlich würde aus jeder Berechnung eine eigene Klasse machen. Du hättest dann Klassen wie PlannedX, ActualX, PlannedY, ActualY, etc. Dadurch wären die Berechnungen schon mal isoliert und lassen sich testen. Beispiel: public class PlannedX { public int calculate() { return 123; } } (Syntaxfehler seien mir verziehen. Ich hab schon lange nicht mehr mit Java entwickelt.) public class X { private final PlannedX plannedX; private final ActualX actualX; public X { this.plannedX = new PlannedX(); this.actualX = new ActualX(); } public int getPlanned { return this.plannedX.calculate(); } public int getActual { return this.actualX.calculate(); } } Damit man nicht etliche Male sowas schreiben muss das DRY-Prinzip verstoßt, kann man daraus aus mit einem Interface und einer abstrakten Klasse vereinheitlichen aber das überlasse ich dir. Hinterher sähe meine Lösung dann so aus: class Service{ Figure x = new X(); Figure y = new Y(); Figure z = new Z(); int plannedX = x.getPlanned(); int actualX = x.getActual(); // ... } Und da könnte man wiederum ein Command-Pattern daraus bauen, wo dann eine Liste von Commands abgearbeitet wird aber das überlasse ich auch mal dir.
  19. Whiz-zarD

    Datenbindung WPF

    Ja, das Problem ist, dass WPF trotz seiner Monstrosität sich doch recht halbgar anfühlt, wenn man es so nutzen möchte, wie es mal angedacht war. Nicht umsonst hat das "patterns & practices"-Team von Microsoft ursprünglich sogar noch Prism entwickelt, um die Arbeit mit WPF zu erleichtern. Selbst intern ist man wohl mit WPF nicht zufrieden gewesen. Meines Wissens nach wurde ja auch die Oberfläche von Visual Studio mit WPF und Prism entwickelt.
  20. Ja, du liegst da richtig. Im Idealfall ist die UI komplett entkoppelt und stellt nur ein Detail in deinem System dar. Dann ist es egal, ob die UI eine Web-, Desktop- oder sogar nur eine Konsolenapplikation ist. Ich kenne dein Wissensstand nicht aber es kursiert schon länger der Begriff "Onion Architecture" bzw. "Clean Architecture" rum. Diese Softwarearchitekturen stellen die Businesslogik (auch genannt "use cases") in den Mittelpunkt. Also das, womit man auch eigentlich sein Geld verdient. Dort befinden sich dann auch Schnittstellen für externe Dienste, die sie dann implementieren müssen und so ein Dienst kann z.B. deine UI oder auch die Datenbank sein. Dies hat den Vorteil, dass die Businesslogik komplett entkoppelt ist und keine Abhängigkeiten besitzt. Somit lässt sich dann die UI oder auch die Datenbank austauschen und da die Businesslogik überhaupt keine Abhängigkeit zur Datenbank besitzt, lässt sie sich dann auch noch leichter testen. Somit ist es dann auch egal, ob du eine Web-, Desktop- oder nur eine Konsolenapplikation schreibst.
  21. Ich persönlich würde C++ so weit meiden, wie es geht. Ich finde die Sprache einfach nicht schön, da man zu sehr mit den technischen Kuriositäten zu kämpfen hat, die diese Sprache mit sich bringt. Im Idealfall ist es auch egal, was du als Oberfläche nimmst. .NET Core (bzw. bald .NET 5) läuft ja auch unter Linux. Wenn du also deine Software so modulierst, dass deine komplette Logik in .NET-Standard-Bibliotheken implementiert hast, dann besitzt die UI überhaupt keine Logik und ist nur für die Ein- und Ausgabe zuständig. Dann kann man als UI draufsetzen, was man will: WPF, WinForms, ASP.NET, Xamarin, Avalonia, gtk# oder als eine einfache Konsolenanwendung. Wenn man aber anfängt, die Logik in die UI zu schreiben, dann hat man eh meist schon verloren. Dann ist man auf Gedeih und Verderb von der UI abhängig. Ja. Wenn man UIs entwickeln möchte, kommt man derzeit wohl oder übel nicht drumherum.
  22. Niemand redet hier von C++.
  23. Ich persönlich würde meine Zeit nicht mit WPF verschwenden. WPF ist ein unbändiges Monster, was aus meiner Sicht auch nur halbherzig umgesetzt wurde. Ich finde, es spricht so Bände, wenn Microsoft selbst noch die Prism Library geschrieben hat, die über WPF gestülpt wird, um lose Kopplung besser hinzubekommen. Der Trend geht aber auch in Richtung SPAs (Single Page Application). Sprich Web-Applikationen, die direkt im Browser laufen oder per Electron in einem Chromium-Container. z.B. läuft Visual Studio Code über Electron. Da würde ich mir dann eher Angular oder React anschauen. Als Alternative in der C#-Welt gibt es zwar Blazor aber ich finde, es ist noch nicht so weit, um es produktiv gut einsetzen zu können. Avalonia sagt mir persönlich überhaupt nichts. Keine Ahnung, wie groß die Community dahinter ist aber ein Blick auf Github sagt mir, dass sie nicht so groß zu sein scheint. Ergo: Nichts, was ich produktiv einsetzen würde. Stattdessen würde ich eher Xamarin nehmen.
  24. Mengenlehre, Aussagenlogik, Polynome, Funktionen und noch vieles andere hatte ich damals auf der Realschule. Der Mathekurs bei meiner Assistentenausbildung, der sich so ziemlich mit dem Kurs "Mathematik in den Wirtschaftswissenschaften" deckt, war im Grunde dann nur noch eine Wiederholung und eine wisschenschaftliche Vertiefung. Neu war für mich die Kurvendiskussion und Differentialrechnung. Das meiste davon braucht aber ein gewöhnlicher Softwareentwickler nicht, wenn man nicht gerade mit Computergrafik zu tun hat. Ich arbeite ja in der Bankenbranche und das höchste, was ich so benötige, ist Prozentrechnung oder mal einen (gewichteten) Mittelwert. Alles, was mit gewöhnlichen Mitteln errechnen lässt. Ich finde es sowieso Interessant, dass sich der Mythos, dass man für Softwareentwicklung ein hohes Mathematikverständnis benötigt, so hartnäckig hält. Wer mit Hochsprachen zu tun hat, tatsächlich wenig. Neulich wollte ich unseren Azubi etwas zeigen und stellte mit Erstaunen fest, dass ich ja kein Hex-Editor mehr installiert hatte. Wie @SaJu schon sagt, würde ich eigentlich nicht Mathematik wählen, sondern wenn es geht, tatsächlich irgendwas, was mehr den Alltag eines Entwicklers füllt, wie z.B. Programmieren oder Algorithmen und Datenstrukturen, wobei Programmieren auch nur so an der Oberfläche gekratzt wird. Mir ist bis jetzt noch keine Hochschule über den Weg gelaufen, die sich tatsächlich mit professioneller Programmierung beschäftigt. Es sind eher Basiskurse, die sich eher darauf konzentrieren, dass man Datenstrukturen versteht und auch anwenden kann. Also Listen und Bäume rauf- und runter. Im Entwickler-Alltag spielt aber die Codestruktur/Software Design eine große Rolle. Also z.B. die SOLID-Prinzipien in objektorientierten Sprachen. Diese werden aber kaum bis gar nicht im Studium behandelt.
  25. Nur hat Microsoft ihr altes Zertifizierungsmodell eingestellt. Dein vorgeschlagener Test wird auch nur noch Corona-bedingt bis zum 31. Januar 2021 angeboten. Danach verschwindet dieser. Ursprünglich sollte der Test schon seit dem 30. Juni nicht mehr verfügbar sein. Es lohnt sich nicht mehr, den Test zu machen, da die Zertifikate auslaufen und nicht mehr erneuert werden können. Zu mal dieser Test nur ein Teil für ein MTA-Zertifikat ist. Es ist also kein Python-Zertifikat. Darüber hinaus lohnen sich generell Zertifikate für Entwickler nur in den seltensten Fällen. Wenn überhaupt, dann nur für freiberufliche Entwickler aber selbst von denen höre ich immer wieder, dass sie keine Zertifikate machen, weil es Zeit- und Geldverschwendung ist. Ich schätze mal, dass sich das Geschäftsmodell nicht lohnt und Microsoft deswegen ihre MTA/MCSD/MCSA-Zertifizierungen über den Haufen geworfen haben und sich mehr auf Azure-Zertifizierungen konzentrieren. Genauso gut könntest du auch udemy und co. einen Python-Kurs machen. Mit Rabatte sind sie dann für 10 € (derzeit für 11,99 €) zu holen und haben den selben Inhalt, wie dein 127 € Test.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...