Wie kann ich durch Methoden definiren?

Ich habe alles programiert ohne Methoden. Wie kann ich jetzt die durch Methoden schreiben?

Code:
public class Aufgabe5 {
    
    public static void main(String[] args) {

        Out.print("Please enter the number of rows: ");
        int rows = In.readInt();
        Out.print("Please enter the number of columns: ");
        int cols = In.readInt();
        Out.print("Please enter scalar value a: ");
        float scalar = In.readFloat();
        
        Out.println();
        
        Out.println("Read " + rows + "x" + cols + " matrix.");
        float[][] matrix = new float[rows][cols];
        
        for (int i = 0; i < rows; i++) {
            Out.println("Row " + i);
            Out.print("Please enter "+cols+" number(s): ");
            for (int j = 0; j < cols; j++) {
                matrix[i][j] = In.readFloat();
            }
        }
        
        Out.println();
        float[] vector = new float[cols];
        Out.println("Read " + cols + " element(s) long vector.");
        Out.print("Please enter "+ cols +" number(s): ");
        for(int i=0; i<cols; i++) {
            vector[i] = In.readFloat();
        }

        Out.println();
        Out.println("Matrix mat:");
        for (int r = 0; r < matrix.length; r++) {
            for (int c = 0; c < matrix[0].length; c++) {
            Out.print(matrix[r][c] + " ");
            }
            Out.println();
        }

        Out.println();
        Out.println("Vector vec: ");
        for(int i=0; i<vector.length; i++) {
            Out.print(vector[i] + " ");
        }

        Out.println();
        Out.println();
        Out.println("Scalar value: " + scalar);
        
        Out.println();
        Out.println("mat * a = ");
        for (int r = 0; r < matrix.length; r++) {
            for (int c = 0; c < matrix[0].length; c++) {
                Out.print(matrix[r][c]*scalar + " ");
            }
            Out.println();
        }
        
        Out.println();
        Out.println("vec * a =");
        for(int i=0; i<vector.length; i++) {
            Out.print(vector[i] * scalar + " ");
        }
        
        Out.println();
        Out.println();
        
        Out.println("mat * vec =");
        for (int r = 0; r < matrix.length; r++) {
            float summa = 0;
            for (int c = 0; c < matrix[0].length; c++) {
                summa =summa + (matrix[r][c]*vector[c]);
            }
            Out.print(summa + " ");
        }
    }

}
 
Zuerst einmal musst Du Dir überlegen, welche Methoden sinnvoll wären. Hast Du schon eine Vorstellung davon?
 
Ich weiß nicht wie kann ich verwenden in diesem Fall

Code:
public static float
static void
static float
Muss ich jedes Teil durch Methode machen ? Oder kann ich nur z.B Matrix rechnung , aber wie definiere ich dann andere Teilen ?
 
Zuletzt bearbeitet:
Ich brauche dringend eine Lösung, hat jemand eine Idee ? Ich brauche Nur ein teil durch Methode schreiben,wenn möglich ist ?
 
Mit einer Methode
Java:
static int readInt(String prompt) {
    Out.print(prompt);
    return In.readInt();
}
kannst Du z. B. in main schreiben:
Java:
    int rows = readInt("Please enter the number of rows: ");
    int cols = readInt("Please enter the number of columns: ");
 
Also Lösung kann eigentlich nicht sein, dass wir Dir Lösungen an die Hand geben.

Woran scheitert er denn? Wie weit kommst du?

Oder satteln wir das Pferd anders auf:
Wieso sollen denn da mehrere Methoden geschrieben werden? Was wäre dabei denn das Ziel? Wenn das Ziel nur einfach nur ist, mehrere Methoden zu haben, dann schreibst Du so viele Methoden wie Du brauchst.

Also wenn das Ziel nur ist, 100 Methoden mehr zu haben, dann wäre mein durch TDD geprägter Ansatz einer einfachen trivialen Lösung:
Code:
public static void dummy00() {}
public static void dummy01() {}
...
Und die Aufrufe packst Du irgendwo einfach mit in Deinen Code rein....

Wenn Du aber auch andere Ziele verfolgen solltest, dann wäre ein erster wichtiger Schritt für das Verständnis, die Ziele doch erst einmal zu formulieren! Und dann kann man überlegen, wie man das Ziel erreicht.

Man kann z.B. den Vorschlag von mihe7 ansehen - was ist das Ziel von so einer Methode? Was wird da gemacht? Warum macht das Sinn? (Oder macht es womöglich gar keinen Sinn, so wie mein Vorschlag mit den dummy Methoden?)

Und man kann dann ggf. auch sowas wie Regeln formulieren, wie so eine Unterteilung stattfinden kann. Was gegeben sein muss, damit es funktioniert. Sowas kann man hier evtl. auch etwas erarbeiten, falls Dir sowas für das Verständnis helfen sollte....
 
Weil der Prof. es so will :p
Das ist doch super. Dann ist die "dummy" Lösung doch super. Vor allem kann man da die Anforderungen "übererfüllen". Also wenn der Prof da "mindestens 10 Methoden" sehen will: Da sind dann 100 oder 150 Methoden doch dann eine geniale Lösung die den Prof begeistern muss!

Aber schauen wir mal. Ich erhoffe mir durch meine etwas ausführlichere Darstellung deines
Zuerst einmal musst Du Dir überlegen, welche Methoden sinnvoll wären. Hast Du schon eine Vorstellung davon?
vielleicht doch noch eine Antwort, ohne dass wir ihm nach und die ganzen Methoden, die Sinn machen, zeigen :)
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben