Hallo,
ich bin gerade noch in der Java-Aufbauphase und bin deshalb gerade dabei eine Rechenpyramide (fragt mich nicht, wofür das gut sein soll, wahrscheinlich nur zum üben) zu programmieren.
Und zwar wird man erst gefragt, mit wie vielen Zahlen man arbeiten will und je nach dem, was man eingibt (mindestens aber 2) wird ein Array erstellt, das eben so groß ist und in dieses werden random Zahlen eingespeichert. (Mindestens Zahlen von 1-100, bei mehr Plätzen im Array mehr)
Nun ist es so, dass die Differenz der ersten beiden Zufallszahlen eine Zahl ergeben, die der zweiten und dritten, die der dritten und vierten usw.
Ich habe hier ein Bild dazu: Screenshot by Lightshot
Und das wird so lange fortgeführt, bis letztendlich nur noch eine Zahl da ist, wie in meinem Beispiel die 1.
Ich hoffe, ich konnte das jetzt verständlich ausdrücken.
So, ich bin nun am den Punkt angelangt, wo ich alle Anfangszahlen habe und nun damit rechnen will. Meine Idee war nun ein Array zu erstellen, das genauso viele Plätze hat, wie das erste -1 dort die ganzen Differenzen einzutragen, dann eines zu erstellen, welches wieder ein Platz weniger hat usw, bis letztendlich eine Zahl rauskommt, wie in meinem Beispiel eine 1. Nur jetzt wäre meine Frage, wie ich automatisch beliebig viele Arrays erstellen kann, welche ja auch noch einen unterschiedlichen Namen haben müssen, oder?
Anschließend muss ich dann nur noch mit einer Schleife die neuen Arrays mit den Werten füllen.
Hier ist dazu der jetzige Code:
ich bin gerade noch in der Java-Aufbauphase und bin deshalb gerade dabei eine Rechenpyramide (fragt mich nicht, wofür das gut sein soll, wahrscheinlich nur zum üben) zu programmieren.
Und zwar wird man erst gefragt, mit wie vielen Zahlen man arbeiten will und je nach dem, was man eingibt (mindestens aber 2) wird ein Array erstellt, das eben so groß ist und in dieses werden random Zahlen eingespeichert. (Mindestens Zahlen von 1-100, bei mehr Plätzen im Array mehr)
Nun ist es so, dass die Differenz der ersten beiden Zufallszahlen eine Zahl ergeben, die der zweiten und dritten, die der dritten und vierten usw.
Ich habe hier ein Bild dazu: Screenshot by Lightshot
Und das wird so lange fortgeführt, bis letztendlich nur noch eine Zahl da ist, wie in meinem Beispiel die 1.
Ich hoffe, ich konnte das jetzt verständlich ausdrücken.
So, ich bin nun am den Punkt angelangt, wo ich alle Anfangszahlen habe und nun damit rechnen will. Meine Idee war nun ein Array zu erstellen, das genauso viele Plätze hat, wie das erste -1 dort die ganzen Differenzen einzutragen, dann eines zu erstellen, welches wieder ein Platz weniger hat usw, bis letztendlich eine Zahl rauskommt, wie in meinem Beispiel eine 1. Nur jetzt wäre meine Frage, wie ich automatisch beliebig viele Arrays erstellen kann, welche ja auch noch einen unterschiedlichen Namen haben müssen, oder?
Anschließend muss ich dann nur noch mit einer Schleife die neuen Arrays mit den Werten füllen.
Hier ist dazu der jetzige Code:
Java:
import java.util.Random;
import java.util.Scanner;
public class Ausführen
{
public static void main(String[] args)
{
int n = 0;
byte weiter = 0;
Scanner scan = new Scanner(System.in);
System.out.println("Bitte geben sie die Anzahl ihrer Felder ein:");
int anzahlFelder = scan.nextInt();
while(anzahlFelder < 2)
{
System.out.println("Ihre Zahl ist zu klein, bitte geben sie mindestens 2 ein!");
anzahlFelder = scan.nextInt();
}
int[] anfangsFelder = new int[anzahlFelder];
System.out.println("Ein Array mit " + anzahlFelder + " Feldern wurde angelegt.");
Random generator = new Random();
System.out.println("Ihre " + anzahlFelder + " Felder wurden mit folgenden zufälligen Zahlen belegt:");
do
{
if(anzahlFelder >= 100)
{
anfangsFelder[n] = generator.nextInt(anzahlFelder) + 1;
}
else
{
anfangsFelder[n] = generator.nextInt(100) + 1;
}
n++;
} while (n < anfangsFelder.length);
for(int i = 0; i < anfangsFelder.length; ++i)
{
System.out.println(i+1 + ". Zahl: " + anfangsFelder[i]);
}
System.out.println("Soll ihre Pyramide mit diesen Zahlen erzeugt werden? Bitte antworten sie mit '1' für weiter oder '0' für abbruch!");
weiter = scan.nextByte();
if(weiter == 1)
{
System.out.println("Das große Rechnen beginnt!");
}
else
{
System.out.println("Dann habe ich jetzt Feierabend!");
}
scan.close();
}
}
Zuletzt bearbeitet: