+1 Daumen
2,7k Aufrufe

Aufgabe:

Schreiben Sie eine Klasse Mathe mit folgenden Methoden:

a) ausgabeVielfach hat zwei positive (wovon Sie ausgehen können) ganzzahlige Parameter a und n. Die Methode gibt auf dem Bildschirm die ersten n Vielfachen von a aus, also die Zahlen von a * 1 bis a * n. Nach jeder dieser Zahlen wird ein Leerzeichen ausgegeben. Schließlich wird ein Zeilenumbruch ausgegeben. Die Methode gibt kein Ergebnis zurück.

Beispiel: Hat a den Wert 3 und n den Wert 5 produziert die Methode auf dem Bildschirm die folgende Ausgabe(gefolgt von einem Zeilenumbruch).

3 6 9 12 15

b) ausgabe1x1 hat einen positiven (wovon Sie ausgehen können) ganzzahligen Parameter n. Die Methode gibt auf dem Bildschirm zeilenweise das ,,Einmaleins bis n" aus, also alle Produkte a * b von Zahlen 1<= a,b <= n. In der ersten Zeile stehen die Vielfachen von 1, in der zweiten die Vielfachen von 2, und so weiter bis zur letzten Zeile, in der die Vielfachen von n stehen. Auf jede der Zahlen folgt ein Leerzeichen. Die Methode gibt kein Ergebnis zurück.

Beispiel: Hat n den Wert 5, produziert die Methoden auf dem Bildschirm die folgende Ausgabe( gefolgt von einem Zeilenumbruch).

1 2 3 4 5

2 4 6 8 10

3 6 9 12 15

4 8 12 16 20

5 10 15 20 25

Avatar von

2 Antworten

0 Daumen

Für beide Aufgaben benötigst du Schleifen, am besten schaust du dir nochmal an wie Schleifen in Java funktionieren.
Hier habe ich die for-Schleife verwendet:

public class Mathe {

public void ausgabeVielfach(int a, int n) {
for (int i = 1; i <= n; i++) { // läuft von i = 1 bis n
System.out.print(a * i + " "); // Berechnung der Vielfachen
}
System.out.println(); // Zeilenumbruch
}

public void ausgabe1x1(int n) {
for (int a = 1; a <= n; a++) { // läuft von a = 1 bis n (also für die Werte 1 - n, von denen die Vielfachen berechnet werden sollen)
for (int i = 1; i <= n; i++) { // läuft von i = 1 bis n (siehe a)
System.out.print(a * i + " "); // Berechnung der Vielfachen (siehe a)
}
System.out.println(); // Zeilenumbruch
}
}
}

Aufrufen kannst du das ganze (in der main-Methode) mit:

 Mathe mathe = new Mathe();
mathe.ausgabeVielfach(3, 5);
System.out.println();
mathe.ausgabe1x1(5);
Avatar von

Bekomme die Fehlermeldung:

1 Java user-submitted files found for compilation: Mathe.java
Java compiler output:
TestSuite.java:26: error: cannot find symbol
Mathe.ausgabeVielfache(3,5);
    ^
symbol: method ausgabeVielfache(int,int)
location: class Mathe
TestSuite.java:33: error: cannot find symbol
Mathe.ausgabeVielfache(7,1);
    ^
symbol: method ausgabeVielfache(int,int)
location: class Mathe
TestSuite.java:40: error: cannot find symbol
Mathe.ausgabeVielfache(10,3);
    ^
symbol: method ausgabeVielfache(int,int)
location: class Mathe
TestSuite.java:47: error: non-static method ausgabe1x1(int) cannot be referenced from a static context
Mathe.ausgabe1x1(5);
    ^
TestSuite.java:54: error: non-static method ausgabe1x1(int) cannot be referenced from a static context
Mathe.ausgabe1x1(1);
    ^
TestSuite.java:61: error: non-static method ausgabe1x1(int) cannot be referenced from a static context
Mathe.ausgabe1x1(3);
    ^
6 errors

public class Mathe {
public static String ausgabeVielfach(int a, int n) {
for (int i = 1; i <=  n; i++) {
System.out.println(a * i + " ");
}
return " ";
}
public static String ausgabe1x1(int n) {
for (int a = 1; a <= n; a++) {
for (int i = 1; i <= n; i++) {
System.out.println(a * i + " ");
}
return " ";
}
return " bitteschön!";
}
} habe das auf so geändert dann kommt aber als Fehlermeldung das hier raus!
symbol: method ausgabeVielfache(int,int)
location: class Mathe
TestSuite.java:33: error: cannot find symbol
Mathe.ausgabeVielfache(7,1);
    ^
symbol: method ausgabeVielfache(int,int)
location: class Mathe
TestSuite.java:40: error: cannot find symbol
Mathe.ausgabeVielfache(10,3);
    ^
symbol: method ausgabeVielfache(int,int)
location: class Mathe
3 errors
1
Files

Vermutlich liegt die Mathe Klasse nicht im gleichen Package wie die Klasse, die die Main Methode enthält. Du musst die Mathe Klasse also importieren. Alternativ könntest du die main Methode auch in die Mathe Klasse schreiben, dann musst du nichts importieren.

  ^
symbol: method ausgabeVielfache(int,int)
location: class Mathe
TestSuite.java:33: error: cannot find symbol
Mathe.ausgabeVielfache(7,1);
    ^
symbol: method ausgabeVielfache(int,int)
location: class Mathe
TestSuite.java:40: error: cannot find symbol
Mathe.ausgabeVielfache(10,3);
    ^
symbol: method ausgabeVielfache(int,int)
location: class Mathe
3 errors
1
Files

ich verstehe halt nicht was ich da machen muss bin halt neu im Studium...

Was müsste ich ändern bzw in die Klasse hinzufügen

0 Daumen

Antwort mit KI erzeugt

Klasse Mathe mit den Methoden ausgabeVielfach und ausgabe1x1

Um die Aufgabenstellung zu erfüllen, erstellen wir eine Java-Klasse namens Mathe mit zwei Methoden. Die erste Methode, ausgabeVielfach, nimmt zwei positive, ganzzahlige Parameter entgegen und gibt die ersten \(n\) Vielfachen von \(a\) auf dem Bildschirm aus. Die zweite Methode, ausgabe1x1, gibt das Einmaleins bis zu einem bestimmten Wert \(n\) aus.

Hier ist die vollständige Implementierung der Klasse:

java
public class Mathe {
    
    /**
    * Gibt die ersten n Vielfachen von a auf dem Bildschirm aus.
    * @param a Ganzzahl, von der die Vielfachen berechnet werden.
    * @param n Anzahl der Vielfachen, die ausgegeben werden sollen.
    */
    public static void ausgabeVielfach(int a, int n) {
        for(int i = 1; i <= n; i++) {
            System.out.print(a * i + " ");
        }
        System.out.println(); // Zeilenumbruch nach der Ausgabe
    }
    
    /**
    * Gibt das Einmaleins bis n auf dem Bildschirm zeilenweise aus.
    * @param n Die größte Zahl, bis zu der das Einmaleins ausgegeben wird.
    */
    public static void ausgabe1x1(int n) {
        for(int i = 1; i <= n; i++) {
            for(int j = 1; j <= n; j++) {
                System.out.print(i * j + " ");
            }
            System.out.println(); // Zeilenumbruch nach jeder Zeile
        }
    }
    
    // Test der Methoden
    public static void main(String[] args) {
        ausgabeVielfach(3, 5); // Sollte die Vielfachen von 3 bis zur 5. Position ausgeben
        System.out.println(); // Zusätzlicher Zeilenumbruch zur Trennung der Methodenaufrufe
        ausgabe1x1(5);
    }
}


Die main-Methode ist hier inkludiert, um die Funktionalitäten der ausgabeVielfach und ausgabe1x1 Methoden zu demonstrieren. Beim Aufrufen von ausgabeVielfach(3, 5) gibt die Methode die ersten fünf Vielfachen von 3 aus (3, 6, 9, 12, 15), gefolgt von einem Zeilenumbruch.

Die Methode ausgabe1x1(5) gibt das Einmaleins bis zur Zahl 5 aus, wie in der Aufgabenstellung gewünscht. Die Ausgabe ist formatiert, sodass jede "Reihe" des Einmaleins in einer neuen Zeile steht, und innerhalb jeder Zeile sind die Produkte durch Leerzeichen getrennt.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community