Eine String Matrix erstellen die eine boolean Funtion verwendet

Trümmermacher

Bekanntes Mitglied
Hi leute ich habe eine Frage ich weiss nicht weiter,

ich will das eine String Matrix erstellt wird die soll aber eine boolean funkton nutzen aber ich weiß nicht wie das funktionieren soll .

Hier ist mein bisheriger Code:

Java:
package arrays;

public class verkleinernarray {
    public static void main(String[] args) {
        // TODO Auto-generated method stub

      
        String [][] a = {{"aaa", "aaa"},
                                 {"bbb", "bbb"}}    ;
      
      
        printMe(magnify(a, 2));
      
      
   
}
    public static void magnify (boolean [][] boolMatrix, int f){
        boolean[][] newMatrix = new boolean [boolMatrix.length/f][boolMatrix[0].length/f];
      
        for(int i=0; i<newMatrix.length; i++){
            for (int k=0; k<newMatrix[i].length; k++)
              
                newMatrix[i][k]=boolMatrix[i*f][k*f];
        }
        for(int i =0; i<newMatrix.length; i++){
            for(int k=0; k<newMatrix[i].length; k++)
                System.out.print(newMatrix[i][k]);
            System.out.println();
        }
      
      
      
    }  
    public static void printMe(String  [][]a){

        for(int i=0; i<a.length;i++){
            for(int k=0; k<a[i].length;k++){
            System.out.print(a[i][k]);
        }
            System.out.println();
        }
    }
  
    }
 
Zuletzt bearbeitet von einem Moderator:

Trümmermacher

Bekanntes Mitglied
DOCH DAS MUSS GEHEN DA ES EINE KLAUSURAUFGABE IST

Es ist die Aufgabe 3 und davon der Teil b .A ist klar den magnifier kann ich proggen aber ich versteh nicht wie ich ein boolean array in ein char oder string array überführen kann .
 

Anhänge

  • 2012_09_17_DV-Klausur.pdf
    203,9 KB · Aufrufe: 16

stg

Top Contributor
In der Aufgabe ist nirgends davon die Rede, dass ein String-Array erzeugt werden soll. Du sollst einach nur eine print-Methode für dein boolsches Array schreiben!

Mal abgesehen davon ist die Aufgabe murks. Du kannst ein Array nämlich gar nicht vergrößern, wie es in der Aufgabe gefordert ist. Einmal angelegt, ist die Größe fix. Du kannst höchstens ein neues Array anlegen, welches den Anforderungen genügt. Andere Programmteile, welche auf das ursprüngliche Array verweisen, bekommen davon aber nichts mit.

Deine Methode magnify soll übrigens nichts ausgeben!
 

njans

Top Contributor
Also ich habe mir das einmal durchgelesen und vorweg:
Wer diese aufgaben verfasst hat, gehört geschlagen (buchstäblich). Die Aufgaben sind teilweise so ungenau gefasst, dass es selbst für Leute, die sprachlich keine Probleme beim Programmieren haben, diese nicht richtig lösen können. Aufgabe 1 zum Bleistift, hat leere Methodenkörper weshalb area() nirgends verwendet wird, in dem gesamten Beispiel! Es lässt sich nur anhand der Ausgabe vermuten, dass diese einen float oder double zurückgibt. Wenn ich da allerdings long reinschreibe kann ich immer noch anhand der Einheit argumentieren, dass die Fläche ausreichend genau berechnet wird. Ebenso geht String.
Aufgabe 2 ist so unglaublich wage, dass ich gar nicht weiß, ob es dafür eine richtige Lösung geben kann. Warum ist phonebook ein array? Es enthält nur einen String!? Das Beispiel enthält schon das Ergebnis einer Umwandlung der Mobilfunknummer, allerdings wird nie gezeigt, wie diese unbearbeitet aussieht. Sind ';' als Trennzeichen konsistent? Gibt es auch leere Attribute(ist mit ,,nicht jeder Eintrag vollständig ist'' das gemeint)? Alleine um Sonderfälle abzufangen, müsste man da schon einige schreiben...

Zu Aufgabe 3:
Arrays kann man nur vergrößern, indem man ein größeres Array erstellt und die Werte umkopiert.

Java:
boolean[][] newMatrix = new boolean [boolMatrix.length/f][boolMatrix[0].length/f];
Das kann so schonmal nicht funktionieren, da dein neues Array kleiner wird, vielleicht mal / durch * austauschen.

Java:
newMatrix[I][k]=boolMatrix[i*f][k*f];
Das wird bei booleans nicht mal funktionieren, da du wahr und falsch nicht multiplizieren kannst. Zudem ist das auch nicht teil der Aufgabe.

Was du innerhalb deiner i und k Schleifen machen musst: Schau dir den Faktor an (z.B. f = 3), dann bedeutet dass, dass jede Zelle in deiner alten Matrix eine f * f = 3 * 3 große Fläche einnimmt. Das heißt du musst für jede Zelle aus deinem Eingabearray einen f * f großen Bereich in deiner neuen Matrix füllen. Dazu ist es recht hilfreich, wenn du dir eine kleine Hilfsmethode schreibst, welche eben ein Array entgegen nimmt, einen boolean Wert, jeweils 2 integer für x,y (oder bei dir i,k) für den Start -und den Endpunkt des Bereichs. Diese Methode muss dann in dem übergebenen Array alle Werte innerhalb des Rechtecks, welches von Start -und Endpunkt aufgespannt wird, mit einem angegeben Wert füllen.
Dann musst du bei anstelle von
Java:
newMatrix[I][k]=boolMatrix[i*f][k*f];
nur noch ausrechnen, was Start -und Endpunkte sind und bist fertig.


Hier nochmal meine Lösung, sollte stimmen, habe es jedoch nur eben schnell programmiert. Es sollte jedoch recht anschaulich zeigen, was zu tun ist.
[/I][/I]
Java:
[I][I]public static void main(String[] args)
   {
     boolean[][] b = {
               {true, false},
               {false,false}
             };
         
     System.out.println("Original: ");
     printMatrix(b);
     
     System.out.println("\nNew:");
     printMatrix(magnify(b, 3));
     
   }
   
   
   public static boolean[][] magnify (boolean[][] array, int factor)
   {
     if (array == null )
     {
       throw new IllegalArgumentException("Input array invalid: array may not be null!");
     }
     
     if (factor < 1)
     {
       throw new IllegalArgumentException("Input factor value invalid: factor must be bigger than zero!");
     }
     
     boolean[][] expandedArray = new boolean[array.length * factor][array[0].length * factor];
     
     
     for (int x = 0; x < array.length; x ++)
     {
       for (int y = 0; y < array[x].length; y ++)
       {
         int startX = x * factor;
         int startY = y * factor;
         int endX = startX + factor;
         int endY = startY + factor;
         
         fillSquare(expandedArray, array[x][y], startX, startY, endX, endY);
       }
     }
     
     
     return expandedArray;
   }
   
   public static void fillSquare(boolean[][] array, boolean value, int startX, int startY, int endX, int endY)
   {
     for (int i = startX; i < endX; i++)
     {
       for (int j = startY; j < endY; j++)
       {
         array[I][j] = value;
       }
     }
   }


   public static void printMatrix(boolean[][] array)
   {
     for (int x = 0; x < array.length; x ++)
     {
       for (int y = 0; y < array[x].length; y ++)
       {
         System.out.print(array[x][y]?" * ":" _ ");
       }
       System.out.println();
     }
   }
[/I]
[/I][/I]
 

JStein52

Top Contributor
Leute, Leute. Ihr wisst doch genau wie die Aufgaben gemeint sind. Natürlich kann man ein array nicht vergrössern, aber man kann das kleinere in ein grösseres überführen nach den Regeln die angegeben sind. Im Berufsleben wird er auch mal unscharfe Anforderungen haben die er in Java-Code umsetzen muss. Und es steht ja ziemlich genau da was er machen soll. Und natürlich ist klar was area(...) macht und was es sinnvollerweise zurückliefert. Und bool'sche werte sind im übrigen nirgends miteinander zu multiplizieren !
 

njans

Top Contributor
Leute, Leute. Ihr wisst doch genau wie die Aufgaben gemeint sind. Natürlich kann man ein array nicht vergrössern, aber man kann das kleinere in ein grösseres überführen nach den Regeln die angegeben sind. Im Berufsleben wird er auch mal unscharfe Anforderungen haben die er in Java-Code umsetzen muss. Und es steht ja ziemlich genau da was er machen soll.

Im Berufsleben ja, aber davon reden wir nicht. Wenn man in der Schule oder in der Uni Aufgaben bekommt, dann müssen diese klar verständlich sein. Und das sind diese eben nicht.

. Und natürlich ist klar was area(...) macht und was es sinnvollerweise zurückliefert.
Das kann man sich erschließen, wenn man die Ausgabe sieht, aber dennoch ist das kein guter Stil eine Aufgabe zu stellen. Wenn da String oder long oder floar oder double oder irgendwas anderes zurückgegeben wird, dann muss ja eine Lösung zu dieser Aufgabe geben, die vorgibt, was richtig ist. Und da es keine weiteren Angaben gibt, ist das so wage, dass ich hier sagen würde, dass hier kein Lernerfolg geprüft werden kann.

Und bool'sche werte sind im übrigen nirgends miteinander zu multiplizieren
Da hast du Recht und ich wundere mich, wie ich das aus seinem Text gelesen habe.
 

JStein52

Top Contributor
@Truemmermacher:

1. sollte deine magnify mal was zurückliefern und nicht void sein. Du willst ja das Ergebnis im printMe verwenden.
2. fragts du im printMe halt einfach ab ob der Wert des Elementes true oder false ist und gibst dann einfach das gewünschte Zeichen aus.
 

JStein52

Top Contributor
Wieso ist unklar was area zurückliefert ? Die Kreisfläche und das kann schon mal keine Integer-Zahl sein. Und natürlich könnte er auch die Fläche gleich als String zurückliefern, das wäre dann genau so richtig ! Hauptsache das geforderte Ergebnis wird ausgedruckt !
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
I Wo am besten eine String Konstante initialisieren? Java Basics - Anfänger-Themen 5
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
A Wie gebe ich bei android eine string im programm aus? Java Basics - Anfänger-Themen 4
T Schauen ob eine Ziffer in einem String-Array häufiger vorkommt Java Basics - Anfänger-Themen 8
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
J Erste Schritte Wie kann ich einen String in eine If einbauen :)? Java Basics - Anfänger-Themen 12
OlafHD Einen String an eine Klasse übergeben Java Basics - Anfänger-Themen 2
J Überprüfen ob String eine Zahl ist Java Basics - Anfänger-Themen 2
S Funktion die mir fuer einen String eine Zahl zwischen 0.0 und 1.0 zurueckliefert..? Java Basics - Anfänger-Themen 9
T Ein String eine Zahl zuweisen Java Basics - Anfänger-Themen 15
O Prüfen ob ein String den selben Namen hat wie eine Booleanreihe? Java Basics - Anfänger-Themen 17
B String der eigentlich eine Ansammlung von HEX zeichen ist in datei schreiben in Hex Java Basics - Anfänger-Themen 8
B Wie aus einem Datum String eine Timestamp erzeugen Java Basics - Anfänger-Themen 6
T String returnen an eine DialogKlasse... Java Basics - Anfänger-Themen 12
Beckenbauer OOP Durch Komma getrennte Einträge in einem String in ein Array oder eine Tabelle schreiben Java Basics - Anfänger-Themen 4
T Prüfen, ob ein String eine Zahl ist Java Basics - Anfänger-Themen 10
C Binärzahl vom Typ String in eine Zahl vom Typ Integer umwandeln Java Basics - Anfänger-Themen 4
M Eine kleine Frage bzw kleine Theorie frage String[arg] Java Basics - Anfänger-Themen 6
G Frage:Welche Methodne kann man eine Zahl bzw. ein String Java Basics - Anfänger-Themen 3
G Wieso ist eine String-Übergabe keine by-reference-Zuweisung? Java Basics - Anfänger-Themen 7
M String mit ist eine Zeile wenn in Textdatei geschrieben Java Basics - Anfänger-Themen 5
A String in eine Typvariable umwandenln Java Basics - Anfänger-Themen 13
G string Array in eine Vector packen Java Basics - Anfänger-Themen 10
P wie bekomme ich ein array in eine string variable Java Basics - Anfänger-Themen 11
B String zu eine zwei dimensionales Array Java Basics - Anfänger-Themen 6
P String eine rote Farbe geben? Java Basics - Anfänger-Themen 6
M ausm String eine Grafik erstellen Java Basics - Anfänger-Themen 4
C String in eine *.ini-Datei Java Basics - Anfänger-Themen 29
G überprüfen ob string eine zahl enthält Java Basics - Anfänger-Themen 6
S Prüfen ob eine TextFeldeingabe String enthält Java Basics - Anfänger-Themen 5
S mit String eine Variable ansprechen Java Basics - Anfänger-Themen 5
O eine frage/problem zu string.split() Java Basics - Anfänger-Themen 2
R Werte aus einem String[][] in eine Datei schreiben. Java Basics - Anfänger-Themen 3
F externe programme ueber eine string starten Java Basics - Anfänger-Themen 2
V Passwort-String byteweise in eine Datei schreiben Java Basics - Anfänger-Themen 6
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
G Wie wartet man bis ein URL eine Antwort zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
M mit Maven eine ausführbare Jar bauen Java Basics - Anfänger-Themen 7
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
S Eine Idee umsetzen ganz schnell!? Java Basics - Anfänger-Themen 68
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
jeff98 Wie kann man in Java eine Zeichenformation ausgeben? Java Basics - Anfänger-Themen 9
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
L Anpassung der Spaltenbreite auch auf eine zweite Tabelle anwenden Java Basics - Anfänger-Themen 8
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
M Wie lassen sich Objektkonstanten initialisieren, wenn sie eine Bedingung erreichen? Java Basics - Anfänger-Themen 6
K Präzedenregeln in Java sagen, dass +expr und -expr vor + von Addition und - von Addition stehen, warum wird dann z. B. a+b als eine Addition ausgeführ Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben