# Potenzen von 2 anzeigen lassen



## petra.2011 (29. Sep 2005)

javascript:emoticon('') javascript:emoticon(':autsch:')

ich hab ein großes problem!!! bitte euch um hilfe!
seit tagen sitze ich hier und versuche der java sprache einigermaßen
herr zu werden. was ja für analphabeten "fast" unmöglich ist.

deshalb meine bitte an euch:

habe hier von einem lerninstitut einige übungsbeispiele, komme
aber hier einfach nicht weiter!

und zwar:

es sollen alle potenzen von 2 angezeigt werden die kleiner als
eine zufallszahl sind. die zufallszahl soll in einem bereich zwischen
1000 und 100000 liegen.

meine ergebnis soll so aussehen.

2 hoch 1 ist 2
2 hoch 2 ist 4
2 hoch 3 ist 8
2 hoch 4 ist 16
2 hoch 5 ist 32 usw. bis zur zufallszahl!!!!!!!!

ich soll eine geeignete schleife einbauen. 
zuerst soll ich die zufallszahl ausgeben,
dannach alle potenzen von 2.

ich hab einfach keinen plan und bei mir
kommen einfach keine potenzen raus!!!!

bitte, bitte helfen, danke
lg
petra javascript:emoticon('')

_ist es so schwer einen aussagekräftigen Titel zu finden - so macht das helfen keinen Spaß  _


----------



## bygones (29. Sep 2005)

mhm ist nicht so schwer...

eine for schleife und dann die Math.pow funktion anschauen !


----------



## Beni (29. Sep 2005)

a) Wähl nächstes mal einen besseren Titel (etwas aussagekräftiges...)
b) Mit der Shift-Taste kann man GROSSBUCHSTABEN machen, hilft bei der Leserlichkeit.
c) javascript.emoticon??? Versuchs mal mit der Vorschau...
d) Hausaufgaben werden hier grundsätzlich nicht gemacht (und allenfalls auch mal von einem Mod gelöscht).

Kannst du ein bisschen genauer beschreiben was dein Problem ist?
Eine Zufallszahl kann man mit "Math.random()" herstellen (nur zwischen 0 und 1, aber das Umzuwandeln ist ja nur primitivste Mathematik :wink: )

Die Schleife wird etwa die Form haben:

```
int random = ... // Zufall
int potenz = ...;  // 2 hoch 1 passt hier
for( int i = 1; <Geschickt gewählte Bedingung>; i++ ){
  potenz *= <passende Zahl>;

  System.out.println( "2 hoch " + <irgendwas> + " ist " + <irgendwas anderes>);
}
```


----------



## boskop (30. Sep 2005)

nunu... also ich hab das Problem und den Titel verstanden ;-)

Mit bit-verschiebung


```
int randomInt = (int) (Math.random() * 1000);
                System.out.println("Random Nbr: " + randomInt);
                
                int powOfTwo = 2;
                
                while(powOfTwo <= randomInt) {
                        System.out.println("Pow: " + powOfTwo);
                        powOfTwo = (powOfTwo << 1);
                }
```

Gruss

Boskop


----------



## bygones (30. Sep 2005)

boskop hat gesagt.:
			
		

> nunu... also ich hab das Problem und den Titel verstanden ;-)


habe den Titel ja auch geändert...

btw: tolle Leistung - meinst du ein Anfänger versteht deinen Code ? aber naja


----------

