Java - Array per Schleife Werte zuweisen


Gelesen 4456 mal, 8 Antworten - 0 Mitglieder und 1 Gast betrachten dieses Thema.


Auf Facebook, Twitter und Google Plus empfehlen
Programmieren Forum & Hilfe »

Java - Array per Schleife Werte zuweisen

Seiten: [1]
« Suchfunktion unter C++ Was ist einfacher zu erlernen?? »
Herunterladen

Scarred Soul
(37)  
*

Java - Array per Schleife Werte zuweisen




hallo,
ich möchte einem array werte mit hilfe einer schleife zuweisen (über tastatur). das problem ist, dass bei eingabe einer '0' das programm beendet werden soll.
ich habe schon eine lösung, doch ich denke, dass es eine elegantere lösung dafür gibt.

Code:
int[] reihe  = new int[laenge];

for (int i = 0; i < reihe.length; i++ )  {
reihe[i] = 1;
}

for (int i = 1; (i < reihe.length) && (reihe[i - 1] != 0); i++ )  {

reihe[i] = Konsole.getInputInt("Geben Sie eine Zahl ein (0 zum Beenden): ");

}


die erste schleife dient nur dazu, dem array werte, die verschieden sind von null, zuzuweisen, so dass die zweite schliefe überhaupt ausgeführt wird.

falls jmd eine bessere und elegantere lösung hat - immer her damit Smiley


CAFFE
Gast
Re: Java - Array per Schleife Werte zuweisen


Da kann man ja nicht zuschauen.

Probier mal das:


int[] reihe  = new int[laenge];
java.lang.util.Arrays.fill(reihe, 1);
for (int i = 1; i < reihe.length; i++ )  {
  if ((reihe[i] = Konsole.getInputInt("Geben Sie eine Zahl ein (0 zum Beenden): ")) == 0) {
    break;
  }
}


Scarred Soul
(37)  
*
Re: Java - Array per Schleife Werte zuweisen


Da kann man ja nicht zuschauen.

Probier mal das:


int[] reihe  = new int[laenge];
java.lang.util.Arrays.fill(reihe, 1);
for (int i = 1; i < reihe.length; i++ )  {
  if ((reihe[i] = Konsole.getInputInt("Geben Sie eine Zahl ein (0 zum Beenden): ")) == 0) {
    break;
  }
}

danke, funktioniert. ich habe jedoch meine 2. schleife so gelassen, da 'break' oft nicht gern gesehn wird.
auf jeden fall danke Smiley

wobei ich gerade bemerkt habe, dass durch die initialisierung von i mit 1, die komponente bei index 0 nicht mit einem eingabewert belegt wird.
bei deiner variante würde es mit i=0 gehen - dabei  "stört" mich aber das 'break'^^
« Letzte Änderung: 17.06.09, 00:29:36 von Scarred Soul »


Lisaa
(4.123)  
*****
Re: Java - Array per Schleife Werte zuweisen


Bei so einer einfachen Konstruktion ist break kein Problem. Gibt es immerhin nicht umsonst in den meisten Sprachen. Wenn man viele verschachtelte Schleifen hat und dann viele breaks und continues drin - dann kann es etwas unübersichtlich werden. Ansonsten sehe ich keinen Grund, break nicht zu verwenden. Für solche Sachen wie in deinem Beispiel gibts das ja erst.


Klischeepunk
Gast
Re: Java - Array per Schleife Werte zuweisen


Zur Abwechslung mal absolute Zustimmung an Lisaa,
du könntest das ganze natürlich auch entsprechend invertiert und mit && in die bedingung der for-schleife packen, aber sind wir ehrlich, dann sieht das schrecklich aus und ist beschissen zu lesen (4 fach geklammert, zuweisung, prüfung, invertierung, verknüpfund in einem... brrrrr, das klingt wie wenn ichs eilig hab.)

Abgesehn davon warum sollte break nicht gern gesehn sein? Es gibt Dinge die sich einfach nicht "schön" anders ausdrücken lassen.  


Lisaa
(4.123)  
*****
Re: Java - Array per Schleife Werte zuweisen


Man könnte in diesem Fall das break ja auch durch
Code:

i = reihe.length;

ersetzen. Macht das selbe, aber man erkennt u.U. nicht, wie/warum. Da ist das break dann doch richtig schön  Grin


Klischeepunk
(275)  
****
Re: Java - Array per Schleife Werte zuweisen


Man könnte in diesem Fall das break ja auch durch
Code:

i = reihe.length;

ersetzen. Macht das selbe, aber man erkennt u.U. nicht, wie/warum. Da ist das break dann doch richtig schön  Grin

Das hatte ich mir auch überlegt, aber man sollte wenn's nicht nötig ist den Zähler nicht unbedingt verändern, dass man ne Regelmässigkeit drin hat und schnell durchspielen kann wie er aussieht/aussehen sollte.
Ausserdem läuft man so sehr schnell in die Gefahr bei längeren for-Schleifen zu übersehen, dass man i neu setzt und hat plötzlich ne Exception weil man den Gültigkeitsbereich des Arrays verlässt.


Gast098
Gast
Re: Java - Array per Schleife Werte zuweisen


Wenn du eine variante ohne 'break' haben willst, versuche es doch mal so:

Code:

String meldg = "Geben Sie eine Zahl ein (0 zum Beenden): ";
int[] reihe = new int(laenge);

int i = 0;
boolean status = true;
while((i < laenge) && status) {
  String input = Konsole.getInputInt(meldg);
  if(input != 0)
    reihe[i] = input;
  else
    status = false;
  i ++;
}


Gast098
Gast
Re: Java - Array per Schleife Werte zuweisen


Oh, die Variable 'input' müsste vom Typ 'int' und nicht 'String' sein. Außerdem würde ich hier eher eine Liste statt einem Array verwenden.  Wink

Seiten: [1]  
« Webmaster-ForumDiskussions-Forum »



Ähnliche Themen zu "Java - Array per Schleife Werte zuweisen":
Sun arbeitet am iPhone Java
Sun mit Update für Java
bestimmte Werte einem Array zuweisen (Java)
JAVA WHILE SCHLEIFE
Java While schleife
Java. Kleine Hilfe bei geschachtelte for-Schleife
Java Array
Java: JTextField Werte konvertieren
JAVA (2 DIMENSIONALES ARRAY ZUFALLSZAHLEN ÜBERGEBEN)


Programmieren 5 Programmieren 10 Programmieren 15 Programmieren 30 Programmieren 17 |




Computerhilfen.de | Powered by SMF 2.5.1.
© 2001-2012, Lewis Media. Alle Rechte vorbehalten.

Sie betrachten das Thema Java - Array per Schleife Werte zuweisen (Scarred Soul) - Programmieren Forum & Hilfe © Computerhilfen.de