Zahlen einlesen und ausgeben, Array

Soulcraft

Mitglied
Java:
public class VariablesArrayMethoden {
	
	public static void main(String[] args) {
		________ einlesenZahlen(________);
		________ ausgebenZahlen(________);
	}
	
	private static ________ einlesenZahlen(________) {
		:::
	}
	
	private static ________ ausgebenZahlen(________) {
		:::
	}
}
Vorweg, es ist keine Hausaufgabe. Ich hänge etwas hinterher und weiß nicht wie ich den oberen Quellcode mit den Funktionen des folgenden ausstatten kann: package Arrays;
Java:
import java.io.*;

import oopinout.IO;

public class VariablesArrayMethoden {

	
	

	public static void main(String[] args) throws IOException {
		
		System.out.println("geben sie die zu erfassenden zahlen ein: ");
		int erfassen = oopinout.IO.readInteger();
		
		int[] zahlen = new int[erfassen];
		
		for(int i = 0; i<zahlen.length;i++) {
			System.out.println("geben sie die zahl " + (i+1) + " ein");
			zahlen[i] = IO.readInteger();
			
		}
		
		
		for(int i = 0; i<zahlen.length;i++) {
		System.out.println(zahlen[i]);
		}
		
		

	}

}

Es sollen zahlen eingelesen und ausgegeben werden. Diese Schritte sollen unabhängig voneinander in verschiedene Methoden implementiert werden.
 
Du hinkst also "etwas" hinterher.

Schauen wir mal.

Also oben soll sein, wie unten, jedoch in methoden ausgelagert?

einlesenZahlen(________);

Was muss die Methode wissen, und was gibt sie zurück, wenn wir sowas haben:

Java:
        System.out.println("geben sie die zu erfassenden zahlen ein: ");
        int erfassen = oopinout.IO.readInteger();
       
        int[] zahlen = new int[erfassen];
 
Ok, nicht nur 'etwas'...
Ich muss einiges nachholen und dachte, dass ich hier gut beraten wäre.

Java:
package Arrays;

import java.io.*;
import oopinout.IO;



public class VariablesArrayMethoden {
    
    public static void main(String[] args) {
        
		int zahlen = einlesenZahlen(int readInteger);
        int ausgeben = ausgebenZahlen(int readInteger);
    }


    
	protected int erfassen;
    
    private static int[] zahlen = new int[5];
    
    private static void  einlesenZahlen(int readInteger) {
    	 for(int i = 0; i<zahlen.length;i++) {
             System.out.println("geben sie die zahl " + (i+1) + " ein");
             int zahlen = oopinout.IO.readInteger();
             
         }
    }
    
    private static void ausgebenZahlen(int readInteger) {
    	for(int i = 0; i<zahlen.length;i++) {
            System.out.println(zahlen[i]);
            }
            
    }
}

Mehr fällt mir nicht ein. Ich weiß nicht wie ich die Methoden schreiben soll ;(
 
Macht das den, was du geschrieben hast Sinn? - Ich glaube nicht.

Bitte beantworte meine Frage.

Kleiner Tipp: Alle Methoden und Variablen müssen static sein.
 
Das meine ich nicht.

Was muss die Methode wissen, und was gibt sie zurück, wenn wir sowas haben:

einlesenZahlen(________);

Was muss die Methode wissen, und was gibt sie zurück, wenn wir sowas haben:

Java:
    System.out.println("geben sie die zu erfassenden zahlen ein: ");
            int erfassen = oopinout.IO.readInteger();
           
            int[] zahlen = new int[erfassen];

Du musst die Sache systematisch analysieren. Ich fange mal an:

Man braucht die anzahl der zu lesenden Zahlen.

Was gibt die Methode zurück?
 
Ein Array mit der Anzahl der zuvor eingegeben Zahl? :rtfm:
Ich möchte ehrlich was dazu lernen, ich hoffe, dass du dich nicht über meine Unwissenheit aufregst...
 
Hi,

sorry, nein ich rege mich weder auf noch verurteile ich oder der gleichen.

Es geht hier darum die Methodik kennen zu lernen, mit der man sowas programmiert.

also der Kopf der Methode sieht so aus:

Java:
public static int[] einlesenZahlen(int anzahl) {
// Dann kommt hier das folgende rein:
______________________; // Hier muss was hin, das die Zahlen speichert.
 for(int i = 0; i<anzahl;i++) {
             System.out.println("geben sie die zahl " + (i+1) + " ein");
             _______= oopinout.IO.readInteger();
             // Hier fehlt noch das korrekte speichern.
         }

return ___________; // Dann muss eas zurück gegeben werden.
}
 
Java:
public static int[] einlesenZahlen(int anzahl) {
// Dann kommt hier das folgende rein:
static int[] zahlen = new int[anzahl]; // Hier muss was hin, das die Zahlen speichert.
 for(int i = 0; i<anzahl;i++) {
             System.out.println("geben sie die zahl " + (i+1) + " ein");
             zahlen[i]= oopinout.IO.readInteger();
             // Hier fehlt noch das korrekte speichern.
         }
 
return ___________; // Dann muss eas zurück gegeben werden.
}

So schonmal richtig?
 
Zuletzt bearbeitet:
Java:
package Arrays;
import java.io.*;

public class VariablesArrayMethoden1 {

	
	static int[] zahlen;
	
	public static void einlesenZahlen() throws IOException{
		
		System.out.println("Geben Sie die Anzahl der einzulesenden Zahlen ein: ");
		int erfassen = oopinout.IO.readInteger();
		
		 zahlen = new int [erfassen];
		
		for(int i = 0;i<zahlen.length;i++){
			System.out.println("geben sie die zahl " + (i+1) + " ein");
			   zahlen[i] = oopinout.IO.readInteger();
		}
		
		
		
	}
	
	public static void ausgebenZahlen()throws IOException{
		for(int i = 0; i<zahlen.length;i++) {
			   System.out.println(zahlen[i]);
			  }
		
		
	}
	
}

Ich bekomme es einfach nicht zum laufen. Ist der Ansatz zumindest richtig?

Bei dem anderen weiß ich nicht was er mit return zurückgeben könnte bzw. muss.
 
Wieso bringst du es nicht zu laufen?

Auf diese Art und Weise muss die Methode nix zurückgeben.

---

Du musst natürlich oopinout auch entsprechen deklarieren und initialisieren.
 
Zuletzt bearbeitet:
Wenn ich den Quellcode ausführe, führt er ein anderes Programm aus dem package aus...
Egal was ich mache, es scheitert daran.

Edit: Error: Could not find or load main class Arrays.VariablesArray

Der Fehler wird mir nun angezeigt.
 
Zuletzt bearbeitet:
Wie führst du es aus?

Kannst Du Dir bitte angewöhnen mehr Informationen zu posten?

"Geht nicht" "Weiß ich nicht" helfen nicht bei der Analyse.
 
Ja kann ich :rtfm:

Mit dem weißen Pfeil der in einem grünen Kreis ist. Also so wie immer.
Komischerweise kommt der Fehler nur wenn ich die Klasse VariablesArray lösche.
Wenn ich sie wieder erstelle und den Quellcode reinkopiere führt er wieder diesen aus.

Ich hoffe, das ich nichts vergessen habe..

Edit: Ich nutze Eclipse
 
Zuletzt bearbeitet:
Rechter Mausklick auf die Datei => Ausführen als "Java Application".

Diese Klasse muss dann aber auch eine Main Methode haben.

Sie ist zudem nicht kompilierbar, musst sie also zu ende schreiben.
 
Habe die Main-Methode hinzugefügt und es funktioniert alles 🙂

Jetzt wäre ich beim nächsten Problem (nicht sonderbar groß).

Java:
package Interfaces;

public class Programm {

	
	public static void main(String[] args) {
		
		Person p = new Person();
		Artikel a = new Artikel();
		Haus h = new Haus();
		Tür t = new Tür();
		
		BenutzerEingabe[] b = new BenutzerEingabe[4];
		
		b[0] = new Haus();
		b[1] = new Tür();
		b[2] = new Artikel();
		b[3] = new Person();
		
		
		
	}

}

Die Objekte im Array haben alle die Methode eingabe().
Wie rufe ich diese nochmal auf? Bei allen Objekten.
In einer Schleife soll es sein.

Den oberen Teil kann ich mir sparen oder?
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben