Bräuchte Hilfe im Bezug zum printarray()

D.gigi

Aktives Mitglied
Die Aufgabe lautet:
Erstellen Sie eine Klasse ZweidimensionalesArray, die ein zweidimensionales Array sowie Attribute für die Anzahl der Zeilen und Spalten enthält.
a) Schreiben Sie einen Kontruktor, der die Anzahl der Zeilen und Spalten übergeben bekommt, diese setzt und das Array mit der entsprechenden Größe anlegt.
b) Schreiben Sie außerdem eine Methode, die Ihr Array mit dem Einmaleins füllt, so dass die erste Zeile 1, 2, 3,…, die zweite Zeile 2, 4, 6, … die dritte Zeile 3, 6, 9, … usw. enthält. Nutzen Sie für das Füllen des Arrays eine ganz normale geschachtelte for-Schleife.
c) Schreiben Sie weiterhin eine Methode printArray(), die die Werte des Arrays zeilenweise auf den Bildschirm ausgibt. Nutzen Sie an dieser Stelle eine geschachtelte forEach-Schleife.
d) Erstellen Sie nun ein Programm, das Werte für die Anzahl Zeilen und Spalten über eine Nutzereingabe einliest und dann ein Objekt der Klasse ZweidimensionalesArray mit der entsprechenden Größe anlegt. Zeilen und Spaltengrößen sollen unterschiedliche Werte annehmen können. Die Größenangaben des Arrays sollen allerdings nicht kleiner als 5 und nicht größer als 15 sein. Prüfen Sie das in Ihrem Programm und fordern Sie den Nutzer auf, die Eingabe zu wiederholen, wenn die Angabe außerhalb des angegebenen Bereichs liegt.
e) Rufen Sie in Ihrem Programm die Methode zum Füllen des Arrays mit dem Einmaleins auf und danach die Methode, die das Array auf den Bildschirm ausgibt.

Aufgabe A und B hab ich erledigt nur weiss ich nicht genau was ich nun weiter machen soll oder wie der Ansatz funktioniert für die Aufgabe C
ich füge auch noch mal meinen code hinzu.

Java:
public class Einmaleinstest {

     public static void main(String[] args) {

            int width = 10;
            int height = 10;
            int[][] EinmalEins = new int[10][10];

            for (width = 1; width <= 10; width++)
            {
                for (height = 1; height <= 10; height++)
                {
                    if (width * height < 10) System.out.print(" ");
                    if (width * height < 100) System.out.print(" ");

                    System.out.print("  " + width * height);
                    
                }
                System.out.println();
            }
        }
    }
 
bei der c im Prinzip das Selbe wie eben, nur halt mit for each.

Java:
int [][] array=new int[3][4];
//initialisierungskram

for(int[] zeile: array){
  for(int zahl: zeile){
 
  }

}

so in etwa. Musst halt noch an passenden Stellen mit print und println arbeiten 🙂
Einfahc mal überlegen wann du einen Zeilenumbruch willst und wann nicht 🙂
 
bei der c im Prinzip das Selbe wie eben, nur halt mit for each.

Java:
int [][] array=new int[3][4];
//initialisierungskram

for(int[] zeile: array){
  for(int zahl: zeile){
 
  }

}

so in etwa. Musst halt noch an passenden Stellen mit print und println arbeiten 🙂
Einfahc mal überlegen wann du einen Zeilenumbruch willst und wann nicht 🙂
schon mal super erklärt danke dir. Ich hätte aber noch ne frage, also es soll alles in einer klasse geschehen sozusagen public static... und dann dass was du geschrieben hast richtig? und bei Aufgabe D dann wieder das selbe nur das es zwischen der Größe 5 und 15 sein soll? und was ist mit der Nutzer Eingabe gemeint? nochmals sorry für soviele fragen bin ein Kompletter Anfänger und neu in der Materie 🙂 LG.
 
Naja bi der c machst in deine bestehende Klasse eben eine Methode

Java:
public void printArray(int[][] array){
//hier die for each Shcleife mit printAnweisungen dabei

}

In d) shcriebst du halt eine 2. klasse Test in etwa wie folgt:

[CODE lang="java" title="public"]public class Test{
public static void main(String[] args){
//hier Nutzereingabe durchführen
ZweidimensionalesArray blabla=new ZweidimensionalesArray(Nutzereingabe);
blabla.fill();

}
}[/CODE]
eben in der main Methode eine Zeile, wo ein Objekt der nderen klasse erzeugt wird, wobei die Werte der Nutzeriengabe übergeben werden.
und eine Zeile wo die fill Methode (eben die Methode aus b, wie auch immer die du genannt hast) dieses Objekts aufgerufen wird.
ich habe keinen Plan mehr wie man eine Nutzereingabe schreibt. Aber das hast du sicher gelernt 🙂

Achja, bei der Nutzereingabe musst du halt auch die prüfung einbauen wo du das programm so lange die Nutzereingabe wiederholen lässt bis was ordentliches eingegeben wurde.
Am Einfachsten mit einer simplen while (!Nutzerkriterien){Nutzereingabe Kram).
 
Naja bi der c machst in deine bestehende Klasse eben eine Methode

Java:
public void printArray(int[][] array){
//hier die for each Shcleife mit printAnweisungen dabei

}

In d) shcriebst du halt eine 2. klasse Test in etwa wie folgt:

[CODE lang="java" title="public"]public class Test{
public static void main(String[] args){
//hier Nutzereingabe durchführen
ZweidimensionalesArray blabla=new ZweidimensionalesArray(Nutzereingabe);
blabla.fill();

}
}[/CODE]
eben in der main Methode eine Zeile, wo ein Objekt der nderen klasse erzeugt wird, wobei die Werte der Nutzeriengabe übergeben werden.
und eine Zeile wo die fill Methode (eben die Methode aus b, wie auch immer die du genannt hast) dieses Objekts aufgerufen wird.
ich habe keinen Plan mehr wie man eine Nutzereingabe schreibt. Aber das hast du sicher gelernt 🙂

Achja, bei der Nutzereingabe musst du halt auch die prüfung einbauen wo du das programm so lange die Nutzereingabe wiederholen lässt bis was ordentliches eingegeben wurde.
Am Einfachsten mit einer simplen while (!Nutzerkriterien){Nutzereingabe Kram).
vielen lieben dank dann versuch ich es mal 🙂
 

Neue Themen


Zurück
Oben