Zweidimensionale Arrays

kanggary

Mitglied
Hallo,

ich komme leider nicht mehr weiter mit einer Aufgabenstellung die ich bekommen habe.
Anmerkung: Ich bin noch Anfänger
dsc0163royc856u3g.jpg

Das habe ich bereits:
Java:
import java.awt.*;
import java.awt.event.*;

class test extends Frame implements ActionListener
{
    Textfield tf;
  
    }
  
    test_action()
    {tf=new TextField(" ");
    setBounds(10, 250, 10, 250);
    add(tf);
    }
  
    void texti(
    String s = tf.length();
    double anz = Math.sqrt(s);
    int ganz = Math.ceil(anz);
    }
    void array(
    String [][] = new String [ganz][ganz];

Mein Lehrer hat mir gesagt, das es nur insgesamt um die 10 Zeilen sind...
Ich hoffe jemand kann mir helfen
 
Zuletzt bearbeitet von einem Moderator:
Schöne Sache, nun ja, du musst erst mal zeilenweise durch dein Array gehen/iterieren.

Wenn ich es richtig lese, brauchst du AWT/Swing gar nicht, die Konsole ist gemeint.

Die Größe de Quadrats anhand der Länge des Textes bestimmen, ist aber kein Probl., oder?
 
Doch das kriege ich nicht hin... Habe es versucht wenn ein Text eingegeben wird, dieser ausgelesen wird und aus der Anzahl der Zeichen die Wurzel gezogen wird. Danach aufrunden und diese dann in das Array um die Größe des Quadrats herauszufinden, sprich : Anzahl * Anzahl.

Kannst du meinen Quelltext korrigieren und mir zeigen wie ich das mit dem Array hinbekomme?
 
Es gibt die Methode Math.sqrt zum ziehen der Wurzel und Math.ceil zum Aufrunden.
Ein Array deklarierst du über String[][] array = new String[Länge 1. Dimension][Länge 2. Dimension]

Hilft dir das?
 
Klaro, Saheeda, weiß ich was gemeint ist mit Wurzel usw. Wurzel zur Basis 2 heißt es glaube ich. Versteht ihr denn auch, was ich meine?

@ TO : Länge bestimmen, Haken hinter, Array initialisieren, Haken hinter, Array befüllen, offen, Elemente entnehmen, offen, Konsole- Eingabe/ -Ausgabe, noch sehr offen, awt/swing/fx, ein ganz anderer Stern, der Todesstern, wenn man so will. 😉

Versuche das einfach selber zu machen, wenn ich das mache, ... , ich halte mal besser die Klappe. 😀
 
Er meinte den TE und nicht dich.

Ahaa, und du bist der in diesem Thema am entferntesten Gemeinte, stimmt's? Ebenso wie der Infizierte. Wenn ich Kinder um mich rum habn möchte, gehe ich morgen in den Kindergarten. Ach nee, morgen ist ja Sonntag.

Kannst du überhaupt auch nur ein Stückchen von dem nachvollziehen, was ich TO/TE/kanggary geschrieben habe, oder ist heute Tag der dicken Lippe der kleinen Kinder?
 
Du weißt jetzt wie du ein 2D Array baust, aber du brauchst in Wahrheit keines. Du musst nur die richtigen Indizes berechnen.

Hier mal ein Test mit der Eingabe This is a test

Hier sieht man wie das 2D Array aussehen würde:
Code:
+===+===+===+===+===+
|   | 0 | 1 | 2 | 3 |
+===+===+===+===+===+
| 0 | T | h | i | s |
+---+---+---+---+---+
| 1 |   | i | s |   |
+---+---+---+---+---+
| 2 | a |   | t | e |
+---+---+---+---+---+
| 3 | s | t |   |   |
+===+===+===+===+===+

Wie könntest du jetzt vorgehen, um die Stellen zu identifizieren.
Der kodierte String ist dann: T ashi tist s e

Die Positionen im 2D Array sind dann: (x, y) => (0, 1) (0, 2) (0, 3) (1, 0) ...

Wenn man den String aber eindimensional betrachtet sind die Positionen 0 4 8 12 1 5 9 13 ...
Na siehst du wie du da ein Muster hast?
 

Zurück
Oben