#1 24. Februar 2011 Bestimmte Zahlen ausgeben Ich habe folgende Aufgabe und zwar soll ich eine 9 stellige zahl ausgeben die die zahlen von 1-9 besitzen (ohne 0). das knifflige dabei ist dass nur eine zahl nur einmal vorkommen darf. Und das die erste stelle n durch die n anzahl teilbar sein muss (ohne rest) also z.b. die zahlen 123456789 1 / 1 = 1 ist teilbar 2 / 1 = 2 .. 2 / 2 = 1 3 / 2 = 1,5 <- fail darf nicht verwendet werden die "3" an der 2ten stelle ich habe erstmal ein array angelegt mit 9 und schon eine for schleife versucht etc. aber ich kriegs einfach net hin :/ könnte mir jmd nen guten ansatz liefern, es ist echt wichtig + Multi-Zitat Zitieren
#2 24. Februar 2011 AW: Bestimmte Zahlen ausgeben Dann poste doch mal deinen Ansatz, dann kann man gucken woran das hängt. Vorher sieht das eher nach "Macht mir meine Hausaufgaben" aus. + Multi-Zitat Zitieren
#3 24. Februar 2011 AW: Bestimmte Zahlen ausgeben das ist doch das problem mit dem ansatz ich weiß nicht wie ich richtig ansetzen soll womit ich anfangen soll, hab paar möglichkeiten durchdacht und versucht, aber die werden nicht zum tatsächlichen ergebnis führen + Multi-Zitat Zitieren
#4 24. Februar 2011 AW: Bestimmte Zahlen ausgeben Ja, poste doch einfach mal den code. Dann kann man sagen wo der denkfehler ist usw. + Multi-Zitat Zitieren
#5 24. Februar 2011 AW: Bestimmte Zahlen ausgeben Kurze erklärung, er so speichert er erstmal die anzahl in die verschiedenen arrays von den stellen, aber sieht iwie schwachsinnig aus, weil er die werte ja noch iwie in die arrays speichern muss -.- Code: public class zahlen { public static void main(String[] args) { int[] stelle = new int[9]; int s1 = 0; System.out.println("Zahlen von 1 bis 9"); /* 1. Stelle */ for (int n = 1; n < 10; n++) { stelle[0] = 1; if ( n % stelle[0] == 0) { s1++; } } int[] st1 = new int[s1-1] /* 2. Stelle */ for (int n = 1; n < 10; n++) { stelle[1] = 2; if ( n % stelle[1] == 0) { s2++; } } int[] st2 = new int[s2-1] /* 3. Stelle */ } } + Multi-Zitat Zitieren
#6 24. Februar 2011 AW: Bestimmte Zahlen ausgeben Wobei hast du jetzt Probleme? Das Ding is eigentlich ganz simple. Als erstes legst du ein Array mit 9 Stellen an. Dann füllst du das Array mit Zufallszahlen. (int zahl = (int)((Math.random()) * 9 + 1); ) Diese musst du dann an die nte Stelle des Arrays setzen, n ist Anfangs 0. n wird danach hochgezählt und beim nächsten Durchlauf kontrollierst du die nächste Zufallszahl mit allen anderen aus n. Wenn diese zufälligerweise schon vorhanden sein sollte, dann gibst du ihm nochmal Math.random. Solange, bis du eine Zahl einfügen kannst, die du noch nicht gehabt hast. Sobald du den Arrays hast, gibst du die Zahl aus, gehst die Rechnerei einmal durch, so wie du das auf dem Zettel gemacht hast und dann kannst du die Zahl als "richtig" ausgeben, wenn da nie ein Rest bleibt. Ansonsten legst du einfach einen neuen Array an und beginnst den Spaß von Anfang an. + Multi-Zitat Zitieren
#7 24. Februar 2011 AW: Bestimmte Zahlen ausgeben So gleich als hint: Um zu überprüfen, ob was schon drin ist, haben arrays die .contains funktion. + Multi-Zitat Zitieren
#8 24. Februar 2011 AW: Bestimmte Zahlen ausgeben Du kannst auch nen Array machen mit 1-9 jeweils und dann Collections.shuffle(array) nutzen um das durchzumischen. dann hättest du zumindest schonmal ne zufallszahl mit unterschiedlichen ziffern an jeder stelle + Multi-Zitat Zitieren
#9 24. Februar 2011 AW: Bestimmte Zahlen ausgeben Code: /****************************************************** * * ich weiß, ich weiß. * Hausübungen helfen und so, nicht gerne gesehen. * Was soll ich sagen, ich bin nett ;) * *****************************************************/ import java.util.Collections; import java.util.ArrayList; public class test { public static void main(String[] args){ //Array Liste anlegen ArrayList array = new ArrayList(); //Mit Hilfe einer for Schleife das Ding mit Werten von 0 bis 8 +1 je Wert füllen. (Also effektiv 1 - 9) for(int i = 0; i <= 8; i++){ array.add(i+1); } //Testweise ausgeben. Nur zur Überprüfung System.out.println(array); //Mischen, danke xPliCt. Hab das allerdings nur für eine ArrayListe gefunden? Collections.shuffle(array); //Testweise ausgeben. Nur zur Überprüfung System.out.println(array); } } Btw. schadest du nur dir selbst damit, wenn du das nicht machst. Das sind Basics. E:// Für den zweiten Teil benötigst du simplerweise nur eine verschachtelte For - Schleife. Oder anders gesagt eine For und in einer For. Oder, wenn du dir das grafisch vorstellen willst: eine 2 - dimensionale n * n Matrix (in dem Falle 9 x 9) + Multi-Zitat Zitieren
#10 2. März 2011 AW: Bestimmte Zahlen ausgeben hü bekommen und er ward nichtmehr gesehen? + Multi-Zitat Zitieren
#11 3. März 2011 AW: Bestimmte Zahlen ausgeben Das ist mitunter nen Grund warum ich mir die Mühe selten mache. + Multi-Zitat Zitieren
#12 4. März 2011 AW: Bestimmte Zahlen ausgeben Bei der lockeren aufgabenstellung hätte er doch einfach eine Zahl ausgeben können die die Aufgabenstellung erfüllt. + Multi-Zitat Zitieren