Array Werte einfügen/löschen/ändern?

Hallo ich bin gerade am Java lernen und habe folgendes Problem:

Ich habe ein Array erstellt in dem ich angebe wie viele Zahlen ich eingeben will und diese dann eingeben kann. Nun möchte ich über Switch-Case dem Benutzer die Möglichkeit geben Werte neu an eine beliebige Stelle einzufügen / einen Wert zu löschen / oder einen Wert abzuändern.

import java.util.Scanner;


public class Hausaufgabe71 {


    public static void main(String[] args) {
        Scanner eingabe = new Scanner(System.in);
        
        System.out.println("Wie viele Zahlen sollen eingegeben werden?");
        int anzahlZahlen = eingabe.nextInt();
        double[] zahlen = new double[anzahlZahlen];
        for (int i = 0; i < zahlen.length; i++) {
            System.out.print("Zahl " + (i + 1) + ": ");
            zahlen[i] = eingabe.nextDouble();
        }
        System.out.print("\nAktuelle Zahlen: ");
        for (double element : zahlen) {
            System.out.print(element + " ");
        }
        
        System.out.println("\nSumme: " + summe(zahlen) + " " + "Durchschnitt: " 
                + durchschnitt(zahlen));
        
        System.out.println("Was möchten Sie tun?\n1) Zahl einfügen\n2) Zahl"
                + " löschen \n3) Zahl ändern \n4) Beenden");
        
        int menue = eingabe.nextInt();
    
        switch (menue) {
        case 1:
            System.out.println("\nAn welcher Position möchten Sie die Zahl "
                    + "ändern?\n(1 = erste Zahl; " + (zahlen.length + 1) 
                    + " = hinten anfügen)");
            int pos = eingabe.nextInt();
            
            break;
            


        }
        
    }
    public static double summe(double[] zahlen) {
        double sum = 0;
        for (double value : zahlen) {
            sum += value;
        }
        return sum;
    }
    public static double durchschnitt(double[] zahlen) {
        double dur = 0;
        for (int i = 0; i < zahlen.length; i++) {
            dur += zahlen[i];
        }
        return dur / zahlen.length;
    }
}

Das ist mein bisheriger Quelltext.

Hat jemand einen Ansatz für mich wie ich diese Punkte realisiere?

MfG

Computer, programmieren, Java
Java: Wie kann ich die Werte für die Matrix einlesen, nachdem ich die Spalte und Zeile eingelesen habe?

Ich stecke bei einer Aufgabe leider etwas fest.

Schreiben Sie ein Programm  Matrix, welches ein zweidimensionales Array übergeben bekommt und die Summe aller Werte in diesem Array berechnet.
Das erste, von der Konsole übergebene Argument, ist die Anzahl der Zeilen. Das zweite die Anzahl der Spalten des Arrays. Die restlichen Argumente sind Werte, mit denen das Array gefüllt werden soll. Gehen Sie davon aus, dass nur ganze Zahlen (positiv und negativ) übergeben werden.
Ihr Programm soll erst die Summe und anschließend die gesamte Matrix zeilenweise ausgeben. Falls zu wenige, oder zu viele Argumente von der Konsole übergeben werden oder die übergebenen Größenwerte negativ sind, soll Ihr Programm eine Fehlermeldung ausgeben, welche das Wort  ERROR enthält.
Eine Matrix der Größe 0 x 0
0×0 zählt als valide Matrix und hat die Summe $0$.

Ich habe bereits einen Ansatz zum Einlesen der Matrix. Dieser funktioniert aber nicht so ganz und ist noch unvollständig, da ich bei einigen Sachen nicht weiter komme.

Zum Beispiel, wie ich die Werte einlesen soll, nachdem ich die Spalte und Zeile eingelesen habe.

public class Matrix {
  public static void main(String[] args) {
    int zeile = Integer.parseInt(args[0]);
    int spalte = Integer.parseInt(args[1]);
    int Werte = Integer.parseInt(args[2]);
    int sum = 0;

    int[][] matrix = new int[zeile][spalte];

    for (int i = 0; i < zeile; i++) {
      for (int j = 0; j < spalte; j++) {
        matrix[i][j] = ???
        sum = matrix[i][j] + matrix[i][j];
      }

      System.out.println(sum);
      System.out.println(matrix[i][j]);
    }            
Schule, programmieren, Java, Array, Matrix
Bubblesort mehrdimensionales Double Array?

Hallo alle zusammen :) Ich bin gerade ein bisschen am rumprobieren. Meine Aufgabe ist es ein mehrdimensionales Double Array zu implementieren welches mit Bubblesort /Insertionsort oder Selectionsort sortiert wird, sodass ich danach noch eine doppelte Median-Berechnung implementieren kann. Ich weiß wie Bubblesort bei Integern funktioniert, nur mir werden Compilerfehler angezeigt, weil ein Double nicht zum Int gecastet werden kann. Nur ich arbeite doch schon von Anfang an mit Double-Werten. Muss ich die Double Werte erst zu Integern casten um Bubblesort anzuwenden? Ich stehe vollkommen auf dem Schlauch und weiß nicht weiter. Ich habe mir so viele Java-Videos angeguckt und kenne die Theorie, nur das anwenden im Programmcode fällt mir sehr schwer. Ich studiere Informatik und muss jede Woche Hausaufgaben lösen. Nur die Hausaufgaben entsprechen nicht den Vorlesungsinhalten und wir sollen uns das Programmieren komplett selbst aneignen. Wir haben bis jetzt nie gesehen wie ein Programm implementiert wird, nur die Theorie dahinter gelernt.

Ich hoffe mir kann jemand helfen. Ich möchte es auch alleine schaffen, schließlich hilft mir in der Klausur auch keiner, aber ich weiß nicht was ich noch machen soll. Ohne Vorwissen ist es wirklich schwer ein Programm zu implementieren, auch wenn man die Theorie dahinter kennt. Ich bin auch erst seit 3 Wochen am studieren und ich weiß, dass das eigentlich zu den Basics gehört :(

Bis jetzt habe ich lediglich das. (Klammern habe ich nicht alle mit eingefügt, aber an fehlenden Klammern liegt es auch nicht)

public static void main(String[] args) {
		double[][] array = { { 1.0, 2.1, 3.0 }, { 2.0, 3.1, 1.0 } };

public static double medianInception(double[][] a) {
		boolean swapped;
		do {
			swapped = false;
			for (double i = 1; i < a.length; i++)
				if (i[c - 1] > i[c]) {
					double swap = i[c];
					i[c] = i[c - 1];
					i[c - 1] = swap;
					swapped = true;
				}
		} while (swapped);
Studium, programmieren, Java, Informatik, Median, Bubblesort
Frage zu CSV-Datei und Java?

Hallo zusammen,

kann mir jemand bei diesen Probleme helfen? Ich weiß wirklich nicht, wie ich da rangehen muss.

  1. Aufgabe ist, dass ich Anzahl der in der eingegeben CSV-Datei gespeicherten Personen bzw. Eintrage zurückgeben soll und zwar mit der Funktion public static int countCsvData_CSV_NUM (List csvData)
  2. public static List selectCsvDataByYear_CSV_NUM (List csvData, int selectedYear): diese Funktion (im Datenbankenkontext bekannt als Selektion) soll als Eingabe die Daten aus der CSV-Datei als Arrayliste bekommen (siehe ESL-0-Zettelserie Aufgabe 2.1) und ein konkretes Geburtsjahr. Setzen Sie voraus, dass das Geburtsjahr an dritter Stelle im Array steht. Die zurückgegebene Liste soll nur solche Arrays enthalten, deren Geburtsjahr-Attribut selectedYear entspricht.
  3. public static List> selectCsvDataByValue_CSV_ASSOC (List> csvData, String selectedKey, String selectedValue): Diese Selektions-Funktion soll nun flexibler sein. Diese Funktion arbeitet man hier mit den gemappten CSV-Daten. Dieses mal ist das Attribut nicht auf Geburtsjahr festgelegt, sondern kann durch den Funktionsbenutzer mit selectedKey bestimmt werden, der zu selektierende Wert mit selectedValue. In der zurückzugebenden Liste von Maps dürfen nur solche Maps enthalten sein, die das entsprechende Attribut besitzen und dessen Wert mit dem gewünschten Wert übereinstimmt. Natürlich sollte Ihre Funktion auch für jede andere CSV-Datei korrekt funktionieren und nicht unerwartet ohne Fehlermeldung abstürzen. 
  4. public static double avgCsvDataByTown_CSV_ASSOC (List> csvData, String selectedTown): Diese Funktion soll den Durchschnitt der Geburtsjahre aller Einwohner einer bestimmten Stadt zurückgeben. Die Stadt wird im Parameter selectedTown spezifiziert. Hat die gewählt Stadt keine Einwohner bzw. existiert diese nicht, soll 0 zurückgegeben werden. Wenn Geburtsjahre existieren, die nicht in einen gültigen Zahlenformat abgespeichert sind, soll -1 zurückgegeben werden.

Bild zum Beitrag
programmieren, Java, Informatik, CSV-Datei
Java Code Hilfe?

Ich hab angefangen in der Schule java zu lernen und wir müssen als Hausaufgabe ein Programm schreiben das in einer Schleife 100 Mal eine Rechung durchführt solange bis die Differenz zum vorherigen kleiner als 10 hoch −7 ist. Sobald das der Fall ist sollte der Wert ausgegeben werden. Wenn das in den ganzen 100 Mal nicht passiert soll "Kein Fixwert" ausgegeben werden. Jedenfalls versteh ich die Aufgabe so.

Die genaue Beschreibung lautet: Wiederholen Sie die Iteration (ohne Ausgabe) insgesamt 100 Mal. Falls sich der Wert x in der letzten Iteration um weniger als 10 hoch -7 verändert hat, geben Sie Fixpunkt = x aus sonst "kein Fixwert"

Als Testwerte haben wir:

a = 0.4793758254555842;

b = 2.5676932814206115;

c = 0.46336869058102603;

x2 = 0.03357264174228247;

und das Ergebnis soll hier am Ende sein: Fixwert: 0.8533944351783489

die Rechung die so lange ausgeführt werden soll bis die Differenz zum vorherigen Mal kleiner als 10 hoch -7 ist, ist: x2 = a * Math.sin(b * x2) + c

------------------

Ich arbeite mit x2 weil das Teil 2 der Aufgabe ist und ich bereits in Teil 1 eine x Variable verwende.

------------------

Zu meinem Problem nun. Wie man es sich schon denken kann bekomme ich den Code einfach nicht so zum funktionieren sodas das Ergebniss stimmt. Vielleicht kann da ja mal jemand rüber schauen der schon mehr erfahrung hat. Da ich erst 4 Stunden in der Schule hatte sollte das für einen Erfahrenen Programmierer kein Problem sein mein Problem zu finden. Ich hab nun lang genug herumprobiert und ich schaffe es einfach nicht...

Mein Code ist als Bild angehängt.

Danke für jede Hilfe die kommt :

)

Bild zum Beitrag
programmieren, Java, Informatik
Frage zu Java/ Programmieren/ Verschlüsselung?

Ich habe eine sehr komplexe Frage würde mich aber extrem freuen wenn mir jemand helfen könnte, für die Schule soll ich ein kurzes Java Programm schreiben, bei mir kommt aber nicht heraus (kein Syntax error)

Hier die Angaben;

Aufgabe; Implementieren Sie die folgenden Punkte unten im Programmcode:

  1. Die Klasse CaeserCode soll zusätzlich ein Attribut offset besitzen, das die Buchstaben-Verschiebung der Caesar-Verschlüsselung angibt. Beispielsweise wird bei einem Offset (Verschiebung) von 3 aus einem A ein D. Belegen Sie das Attribut offset im Standardkonstruktor mit dem Wert 1.
  2. Bei der Caesar-Verschlüsselung sollen nur die 26 Buchstaben des lateinischen Alphabets verschlüsselt werden, alle anderen Sonderzeichen bleiben unverschlüsselt. Die Groß- und Kleinschreibung soll beibehalten werden.
  3. Vervollständigen Sie die Methode verschluesseln() in der Unterklasse CaesarCode.
  4. Verwenden Sie die Methoden: zeichenInMorseCodeUmwandeln(char zeichen) und morseCodeInZeichenUmwandeln(String morsecode) in den Methoden verschluesseln() und entschluesseln() der Unterklasse MorseCode.
  5. Für die Morse-Verschlüsselung sollen zwischen den Buchstaben ein Leerzeichen und zwischen den Wörtern fünf Leerzeichen eingefügt werden. Die Eingabe kann einfach in Großbuchstaben umgewandelt werden (mit der Methode toUpperCase()).
  6. Vervollständigen Sie die Methode verschluesseln() in der Unterklasse MorseCode.
  7. Die Tests prüfen nur das Verschlüsseln ab. Das Vervollständigen der Methode entschluesseln() ist eine Zusatzaufgabe.

Bereits zur verfügung gestellter Code siehe kommentare

Bild zum Beitrag
Computer, programmieren, Java, Code, Informatik

Meistgelesene Beiträge zum Thema Java