Array ausgeben

drpingoo

Erfahrenes Mitglied
Hallo zusammen,

ich glaube die Lösung des Problems wäre ziemlich simpel, aber ich sehe meinen Fehler einfach nicht. Wenn ich bei initialize() die for-Schleife laufen lasse und jeweils darin dass gerade bearbeitete Element angebe, printet er mir das aus. Sobald ich aber genau dieselbe Schleife da lösche und in die Funktion print() reinkopiere, funktionierts nicht mehr, also er gibt eifach nichts aus. Der Sinn der Sache ist aber sowieso, dass ich mit einem Zufallsgenerator das Array mit Zahlen fülle (alles in der initialize-Fkt.) und danach alle Element bei print() ausgebe. Jedoch ist mein Array immer leer. Kann mir da jemand helfen?

Hier dann noch der Code:

Lg drpingoo
Code:
package array;

import java.util.Random;

/**
* Informatik II - SS2007 <br>
* Uebungsserie 2, Aufgabe 1 <br>
* Template for class SortArray.java <br>
*
* @author Silvia Santini
*/

public class SortArray {
  // int-Array (15 elements)
  int[] a = new int[15];
  int myarray;
  
  /**
   * insert comments here
   */
 void initialize() {

	  for(int i=0; a[i]<15; a[i]++)
		 {
		 int myarray = a[i];
		  Random f = new Random();
	      int z = Math.abs(f.nextInt(100));
	      myarray= z;
	      a[i] = z;
		 //System.out.println(myarray);
	      
	 };
	  

    System.out.println("Implement here: initialization");
 }

  /**
   * insert comments here
   */
  void print() {
		
	System.out.println(a[4]);
	      
	 };
		
	 
  
  
  

  /**
   * insert comments here
   */
  void sort(int i) {
     System.out.println("Implement here: sorting method");
   
  }

  /**
   * insert comments here
   */
  public static void main(String[] args) {
    
	
      
      // An instance of the class SortArray need to be created
      // to access class' Methods
      SortArray s = new SortArray();

      // Call to method methodName with s.<methodName>
      // Initialize:
      s.initialize();

      System.out.println("Array not sorted:");
      // Output, not sorted:
      s.print();
   
      
      
      // Sorting (Which parameter as input?)
      s.sort(99999);

      System.out.println("Array sorted:");
      // Output, sorted:
     s.print();
   }
 }
 
In der for-Schleife beim initialisieren nutzt du a[i] als Abbruchkriterium. Wenn also eine Zufallszahl größer als 14 generiert wird bricht deine Schleife ab. Funktionieren sollte es stattdessen mit: for(int i=0; i<a.length; i++){...}

Gruß sony2

... ach und wofür ist eigentlich die Variable myarray gut?
 
Zuletzt bearbeitet:
Zurück