Übungen zur ArrayList?

Kann mir bitte jemand bei diesen Aufgaben helfen. Bitte, es wäre sehr hilfreich!

Übung zur ArrayList

Übung 1: Klassen erzeugen

Erstellen Sie eine Klasse „Fach“ bzw. „Subject“ entsprechend des abgebildeten Klassendiagramms:

Erstellen Sie eine Klasse "Fachverwaltung" bzw. „SubjectOrganizer“ wie in diesem Klassendiagramm:

Übung 2: Konstruktor

Konstruktor der Klasse „Faecherverwaltung“:

- Weisen Sie der ArrayList mittels entsprechender ArrayList-Methoden fünf Fächer (Lieblingsfächer) zu.

- Geben Sie mittels foreach-Schleife alle Fächer auf der Konsole aus, etwa so:

»Meine Lieblingsfächer sind: Mathe, APR, IMCM, Deutsch, Englisch«

Übung 3: Lieblingsfächer mit Iterator

Methode „beste Fächer“:

Durchlaufen Sie die ArrayList mittels Iterator und lassen Sie die Fächer mit Note auf der Konsole ausgeben, etwa so:

»APR: 1.0

IMCM: 1.1

Mathe: 1.2

Deutsch: 1.3

Englisch: 1.3«

Übung 4: Klasse erweitern

Erweitern Sie die Klasse „Faecherverwaltung“ entsprechend der folgenden Abbildung:

Hinweis zur Methode alleFaecherAusgeben(): Ausgabe aller Faecher in der Konsole.

Hinweis zur Methode getAlleFaecherAlsString():String - In dieser Methode müssen Sie einen String "zusammenbauen" und schließlich als String zurückgeben.

Hinweis zur Methode notendurchschnittDerFaecherBerechnen():double – Der Notendurchschnitt sollte berechnet und zurückgegeben werden.

Übung 5: Fach löschen

Methode „Fach löschen“:

Finden Sie das Fach mit der schlechtesten Note, geben Sie das Fach mit Note auf der Konsole aus und löschen Sie es aus der Fächerverwaltung.

Bild zum Beitrag
Java, Array, Programmiersprache
Durschnittszeiten mit arrays in python berechnen?

Ich programmiere aktuell einen 1x1 Trainer um Programmieren zu üben/ lernen. Aktuell wird nach eingeben der Aufgabe, die Aufgabe überprüft und Richtig oder Falsch angezeigt. Darunter die benötigte Zeit für die Aufgabe.
Jetzt will ich aber statt der benötigten Zeit pro Aufgabe die Durchschnittszeit pro Aufgabe angezeigt bekommen (Am besten mit Speichern von Daten in Arrays).

Kann mir da jemand helfen?

Hier der aktuelle Code:

from random import randint

import tkinter as tk

import time

status = False

def buttonLos_clicked(event):

    global status

   

    if status == False:

        status = True

        nextTask()

def nextTask():

    global a, b, produkt, zeitanfang

    textbox.delete(0,tk.END)

    zeitanfang = time.time()

   

    a = randint(1,10)

    b = randint(1,10)

    produkt = a * b

    showTask()

def showTask():

    global a, b

   

    labelTask["text"]="Wie viel ist " + str(a) + " x " + str(b) + "?"

def checkAufgabe(event):

    global produkt, zeitanfang, zeitende

   

    antwort = int(textbox.get())

    if antwort == produkt:

        zeitende = time.time()

        labelAnswer["text"] = "Richtig"

        labelTime["text"] = round(zeitende - zeitanfang, 2)

        nextTask()

   

    else:

        labelAnswer["text"] = "Leider falsch. Probiere es nochmal"

        textbox.delete(0,tk.END)

        showTask()

root = tk.Tk()

root.title("1x1-Trainer")

labelBody1 = tk.Label(root, text="Es werden dir zufällige Aufgaben gestellt.")

buttonLos = tk.Button(root, text="Los")

labelTask = tk.Label(root)

textbox = tk.Entry(root)

labelAnswer = tk.Label(root)

labelTime = tk.Label(root)

labelBody1.pack()

buttonLos.pack()

labelTask.pack()

textbox.pack()

labelAnswer.pack()

labelTime.pack()

buttonLos.bind("<Button-1>", buttonLos_clicked)

textbox.bind("<Return>", checkAufgabe)

root.mainloop()

programmieren, Array, Programmiersprache, Python, time, benutzeroberflaeche, Python 3, Tkinter
mehrdemensionales Array aus Datenbank auslesen mit php?

Hallo ich programmiere mit einem kleinem Team eine Onboarding Website für Mitarbeiter. Allerdings haben wir ein Problem beim auslesen unserer Datenbank. wir haben uns mit dem fronted Team abgesprochen dass wir die Daten per Array übergeben. Nun haben wir uns die daten per Array ausgeben lassen, per foreach schleife ausgeben lassen und zurück in mehrdemsionales Array gepackt. Allerdings können wir dieses nur per var_dump ausgeben und nicht mithilfe einer foreach Schleife normal per echo.

Wie können wir das umbauen?

Hier der aktuelle Code:

<?php 


    function getdata() {
    $pdo = new PDO('mysql:host=localhost; dbname=t-systems', 'root', '', [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ]);
    $stmt = $pdo->prepare('SELECT * FROM `user`');
    $stmt->execute();
    $results = $stmt->fetchAll(PDO::FETCH_ASSOC);

    foreach ($results as $result) {
        $Ort = $result['Ort Name'];
        $ID_User = $result['ID'];
        $Vorname = $result['Vorname'];
        $Nachname = $result['Nachname'];
        $Telefonnummer = $result['Telefonnummer'];
        $mail = $result['Email'];
        $PLZ = $result['Plz'];
        $Straße = $result['Strasse'];
        $Hausnummer = $result['Hausnummer'];

        $userdata[] = [$Ort, $ID_User, $Vorname, $Nachname, $Telefonnummer, $mail, $PLZ, $Straße, $Hausnummer];
    }
       var_dump($userdata);

    }
Danke fürs weiterhelfen
Array, Datenbank, MySQL, PHP
Hilfe bei Java Programm?

Hi.

Ich habe wollte eine Übung in Java programmieren, jedoch schmeißt er mir einen NullPointerException-Fehler aus. Es geht um ein Programm zur Adressenverwaltung, wo mehr als eine Adresse abgespeichert werden kann. Könnt ihr mir dabei helfen?

Hier mein Code:

import javax.swing.*;
import java.io.*;


public class AdressenverwaltungFeld {
	
	//innere Klasse
	public static class Adresse {
		public String nachname;
		public String strasse;
		public int hausnummer;
		public int plz;
		public String ort;
	}
	
	public static void main(String[] args){
		//Hauptprogramm
		System.out.println("========================================");
		System.out.println("==Programm zur Verwaltung von Adressen==");
		System.out.println("========================================");
		
		//Instanz der Klasse Adresse
		Adresse ad;
		ad = new Adresse();
		Adresse[] adressen = new Adresse[3];
		ad = adressen[0];
		for(int i = 0; i < adressen.length; i++){
			adressen[i] = new Adresse();
		}
		//Einlesen der Adresse
		ad.nachname =  JOptionPane.showInputDialog("Geben Sie den Nachnamen ein:");
		ad.strasse = JOptionPane.showInputDialog("Geben Sie die Straße ein:");
		String eing = JOptionPane.showInputDialog("Geben Sie die Hausnummer ein:");
		ad.hausnummer = Integer.parseInt(eing);
		eing = JOptionPane.showInputDialog("Geben Sie die PLZ ein:");
		ad.plz = Integer.parseInt(eing);
		ad.ort = JOptionPane.showInputDialog("Geben sie den Ort ein:");
		//Ausgabe der Adresse
		System.out.println("Nachname: \t" + ad.nachname);
		System.out.println("Straße: \t" + ad.strasse + " " + ad.hausnummer);
		System.out.println("Ort: \t\t" + ad.plz + " " + ad.ort);
	}
}

Vielen Dank schonmal.

programmieren, Java, Array
Java: Wie kann ich den Artikelpreis von einer Artikelliste ändern?

Hallo,

ich habe eine Klasse für die Verwaltung von Artikeln, die eine Bezeichnung, Nummer und einen Preis haben. Ich möchte hier den Preis mit einen gegebenen Prozent ändern.

Die Methode nimmt eine Liste von Artikeln und einen Prozent und ändert den Preis der Artikel. Die Methode habe ich im Kommentar gemacht.

import java.util.Arrays;

public class Article {
  private String bezeichnung; // ArtikelTitel
  private long artikelNr; // Artikelnummer
  private static double preis; // Einzelpreis des Artikels
  private static long AnzahlArtikel;
  private static long nextArtikelNr = 100;

  public Article(String bezeichnung, double preis) {
    this.bezeichnung = bezeichnung;
    Article.preis = preis;
    this.artikelNr = Article.nextArtikelNr++;
    Article.AnzahlArtikel++;
  }

  public Article(String bezeichnung) {
    this(bezeichnung, 0.0);
  }

  public long getartikelNr() {
    return this.artikelNr;
  }

  public String getbezeichnung() {
    return this.bezeichnung;
  }

  public static long getAnzahlArtikel() {
    return Article.AnzahlArtikel;
  }

  public double getPreis() {
    return Article.preis;
  }

  /*
   * public static void changePrices(Article[] articles, double percentage) {
   *
   * if (articles == null || articles.length == 0 || percentage < 0) {
   * return;
   * } else {
   * // Article[] result = new Article[articles.length];
   * double percentageArtikel;
   *
   * for (int i = 0; i < articles.length; i++) {
   * percentageArtikel = artciles[i].getPreis() * percentage;
   * preis += percentageArtikel;
   * }
   * }
   * return;
   *
   * }
   */

  public String toString() {
    return artikelNr + ", " + bezeichnung + ", " + preis;
  }
}
Java, Array, Programmiersprache
Array List bearbeiten?
Hallo zusammen

Benötige eure Unterstützung bei zwei Aufgaben die ich versucht habe zu lösen.

Leider bisher ohne Erfolg.

Aufgabe 1

Die Klasse Person sieht wie folgt aus:

public class Person {
   public String name;
   public int jahrgang;
   
   public Person(String n, int j) {
      this.name = n;
      this.jahrgang = j;
   }
}

Ersetze den Namen der zweiten Person mit "Peter" in dem du den Namen im bestehenden Objekt anpasst. Das bestehende Objekt soll also nicht überschrieben, sondern nur geändert werden.

import java.util.ArrayList;
public class Test {

   public static void main(String[] args) {
   
      ArrayList<Person> personen = new ArrayList<Person>();
      Person p1 = new Person("Hans",1997);
      Person p2 = new Person("Petra",1998);
      personen.add(p1);
      personen.add(p2);

Meine falsche Antwort:

Person p2 = Person("Peter", 1998);

Weitere Aufgabe:

Die Klasse Person2 sieht wie folgt aus:

public class Person2 {
   private String name;
   
   public Person2(String n) {
      this.name = n;
   }
   
   public String getName() {
      return name;
   }
   
   public void setName(String n) {
      name = n;
   }
}

Ersetze den Namen der zweiten Person mit "Fred" in dem du den Namen im bestehenden Objekt anpasst. Das bestehende Objekt soll also nicht überschrieben, sondern nur geändert werden.

import java.util.ArrayList;
public class Test {

   public static void main(String[] args) {
   
      ArrayList<Person2> personen2 = new ArrayList<Person2>();
      personen2.add(new Person2("Franz"));
      personen2.add(new Person2("Franziska"));


Meine falsche Antwort: 
personen2.set(1, new Person("Fred"));


Vielen Dank euch für die Hilfe und Erklärungen.

Java, Array
Array list?? Namenausgabe nach Typ?
Aufgabenstellung

Die folgende Anwendung erfasst Namen und Rollen in einem Multiplayer-Game mit fünf Spielern. Spieler haben entweder die Rolle Offender (abgekürzt mit O) oder Invador (abgekürzt mit I). Sowohl Name wie auch Rolle werden über die Konsole eingegeben.

Nach dem alle fünf Spieler erfasst wurden, sollen die Namen der Spieler nach Rollen getrennt auf die Konsole ausgegeben werden.

Zum Speichern der Angaben eines Spielers wird die Klasse Player verwendet. Die Objekte aller Spieler werden in der ArrayList players gespeichert. Die Klasse Player ist bereits vorhanden und muss nicht geändert werden.

Aufgaben:

  1. Das Einlesen von Namen und Rollen ist bereits vorhanden. Ergänze die Klasse Main um das Speichern der Eingaben in der ArrayList.
  2. Ergänze die Klasse Main um die Ausgabe der Namen getrennt nach Rollen so wie im Beispiel unten gezeigt.

import java.util.ArrayList;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

ArrayList<Player> players = new ArrayList<Player>();

Scanner keyScan = new Scanner(System.in);

for (int i=0; i<5; i++) {

System.out.print("Name: ");

String name = keyScan.nextLine();

System.out.print("Role (O or I): ");

String role = keyScan.nextLine();

// TODO: Player der ArrayList hinzufügen

}

System.out.println("\nOffenders:");

// TODO: Namen aller Offenders ausgeben

System.out.println("\nInvaders:");

// TODO: Namen aller Invaders ausgeben

keyScan.close();

}

}

----

Muss man nichts mehr machen.

public class Player {

String name;

String role;

public Player(String name, String role) {

this.name = name;

this.role = role;

}

public String getName() {

return name;

}

public String getRole() {

return role;

}

}

Vielen Dank euch für die Hilfe.

Java, Array, Programmiersprache
Eine Methode um zu testen ob es ein Nachbar gibt?

Hallo, ich muss bei meiner Aufgabe die Klasse Field um eine Methode boolean hasNeighbor(int, int, int) erweitern, sodass die ersten Parameter x- und y-Koordinaten sind und der dritte Parameter die Richtung. Die Methode soll zurückgeben ob es an der übergebenen Stelle, in die Richtung eine Verbindung zum Nachbarn gibt. Aber das schwierige ist, dass es ohne Schleife oder Verzweigung aus der erstellten getNeighborhood Methode mit Bitoperationen bestimmt werden muss. Ich hoffe jemand kann mir helfen, da ich noch ein Anfänger bin.

class Field
{
    /**
     * Die Dateinamen der Bodengitterelemente, die direkt mit einer
     * Rotation 0 verwendet werden können. Der Index ergibt sich
     * aus der Summe der folgenden Zahlen:
     * 1: In Richtung 0 (+1, 0) gibt es eine Verbindung.
     * 2: In Richtung 1 (0, +1) gibt es eine Verbindung.
     * 4: In Richtung 2 (-1, 0) gibt es eine Verbindung.
     * 8: In Richtung 3 (0, -1) gibt es eine Verbindung.
     */
    private static final String[] NEIGHBORHOOD_TO_FILENAME = {
        "grass",
        "path-e-0",
        "path-e-1",
        "path-l-0",
        "path-e-2",
        "path-i-0",
        "path-l-1",
        "path-t-1",
        "path-e-3",
        "path-l-3",
        "path-i-1",
        "path-t-0",
        "path-l-2",
        "path-t-3",
        "path-t-2",
        "path-x"
    };


    /**
     * Die Feldbeschreibung. Jede zweite Spalte und Zeile enthält die
     * eigentlichen Zellen. Dazwischen sind die Nachbarschaften
     * vermerkt.
     */
    private final String[] field;


    Field(final String[] field)
    {
        this.field = field;


        for (int y = 0; y < field.length; y += 2) {
            for (int x = 0; x < field[y].length(); x += 2) {
                new GameObject(x / 2, y / 2, 0, NEIGHBORHOOD_TO_FILENAME[getNeighborhood(x, y)]);
            }
        }
    }

    private char getCell(final int x, final int y)
    {
        if (x >= 0 && y >= 0 && y < field.length && x < field[y].length()) {
            return field[y].charAt(x);
        }
        else {
            return ' ';
        }
    }


private int getNeighborhood(final int x, final int y)
    {
        // Die (x, y)-Versätze für die einzelnen Prüfrichtungen
        final int[][] neighbors = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};

        int neighborhood = 0;

        int bit = 1;

        for (final int[] offsets : neighbors) {
            if (getCell(x + offsets[0], y + offsets[1]) != ' ') {
                neighborhood += bit;
            }
            bit *= 2;
        }
        return neighborhood;
    }

    static void test()
    {
        new GameObject.Canvas(5, 5, 96, 96);
        new Field(new String[] {
            "O-O-O-O  ",
            "|   |    ",
            "O O-O-O O",
            "| | | | |",
            "O-O-O-O-O",
            "| | | | |",
            "O O-O-O O",
            "    |   |",
            "O-O-O-O-O"
        });
    }
}
Java, Array, Programmiersprache
JAVA Arraylist Berechnen mit int und double und Abspeichern von Zwischenwerten?

Hallo Zusammen

Ich muss in einer Aufgabe int und Double Werte miteinander multiplizieren, siehe im Code bei TODO.

import java.util.ArrayList;

public class Einkauf {
	
	private ArrayList<Produkt> produkte = new ArrayList<Produkt>();

	public void addEinkauf(double preis, 
	                        int faktor, 
	                        int menge, 
	                        String name) {
		produkte.add(new Produkt(preis, faktor, menge, name));
	}
	
	public double getPunkte() {
		
// TODO: Punkte des Einkaufs berechnen und zurückgeben
    double punkte;  // sollte richtig sein 
    for (Produkt p : produkte){
        punkte = (preis*menge*faktor); // hier ist ein Fehler 
        produkte.save(punkte);
        return punkte;
    }
	}
}

Es sollen die Treuepunkte wie folgt berechnet werden: Pro CHF Umsatz gibt es einen Punkt. Rappenbeträge werden berücksichtigt: Kostet ein Produkt CHF 3.20, ergibt dies 3.2 Punkte. Zusätzlich kann bei jedem Produkt ein Faktor angegeben werden. Damit kann der Grossverteiler für bestimmte Produkte mehr Punkte ausschütten. Wenn beispielsweise ein Produkt für CHF 3.20 einen Faktor von 10 hat, gibt es für dieses Produkt 32 Punkte.

Für den oben gezeigten Einkauf beträgt das Punkte-Total 207.15.

Sprich, bei jedem Einkauf soll der zwischenwert gespeichert werden.

programmieren, Java, Array, Programmiersprache, Arraylist
Java: Wie kann ich eine Route mit beliebig vielen Zwischenhalten einlesen und im Array ausgeben?

Hallo zusammen.

Es soll ein Programmcode geschrieben werden, bei dem ein Anzahl Zwischenstopps, Start- und Endpunkt angegeben werden müssen. Alle Eingaben müssen im Array gespeichert und später wiedergegeben werden.

Wichtig ist:

  • Erster Wert ist mein Startpunkt, bspw. Köln.
  • Der letzte Arraywert ist mein Endpunkt, bspw. Berlin.

Irgendwas in meinem Code ist leider falsch. Es müssen definitiv zwei Schleifen vorhanden sein.

Könnt ihr mir bei der Korrektur meines Codes bitte helfen?

Besten Dank!

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    // Diesen Teil nicht anpassen
    Scanner keyScan = new Scanner(System.in);
    System.out.print("Anzahl Zwischenhalte: ");
    int anzahlVias = keyScan.nextInt();
    keyScan.nextLine();
    String [] strecke = new String[anzahlVias + 2];

    System.out.print("Reise von: ");
    // TODO: Start einlesen und im Array strecke speichern
    strecke[0] = keyScan.nextLine();

    System.out.print("Reise nach: ");
    // TODO: Ziel einlesen und im Array strecke speichern
    strecke[strecke.length - 1] = keyScan.nextLine();

    // TODO: Vias einlesen und im Array strecke speichern
    int counter = 0;

    while (counter < strecke.length) {
      for (int i = 0; i < strecke.length; i++) {
        for (int y = 0; y < 3; y++) {
          System.out.print("Via: ");
          strecke[1] = keyScan.nextLine();
          counter++;
        }

        System.out.println("Deine Route: "+ strecke[counter]);
      }

      // TODO: Route ausgeben
    }

    keyScan.close();
  }
}
Java, Array, Programmiersprache

Meistgelesene Fragen zum Thema Array