Loops/Break: Difference between revisions

From Rosetta Code
Content added Content deleted
m (→‎{{header|BASIC}}: Added note about EXIT FOR)
(Forth)
Line 10: Line 10:
print b
print b
loop</lang>
loop</lang>

=={{header|Forth}}==
<lang forth>include random.fs

: main
begin 20 random dup . 10 <>
while 20 random .
repeat ;

\ use LEAVE to break out of a counted loop
: main
100 0 do
i random dup .
10 = if leave then
i random .
loop ;
</lang>


=={{header|Java}}==
=={{header|Java}}==

Revision as of 22:48, 5 June 2009

Task
Loops/Break
You are encouraged to solve this task according to the task description, using any language you may know.

Show a while loop which prints two random numbers (newly generated each loop) from 0 to 19 (inclusive). If the first number is 10, print it, stop the loop, and do not generate the second. Otherwise, loop forever.

BASIC

Works with: QuickBasic version 4.5

<lang qbasic>do

   a = int(rnd * 20)
   print a
   if a = 10 then exit loop 'EXIT FOR works the same inside FOR loops
   b = int(rnd * 20)
   print b

loop</lang>

Forth

<lang forth>include random.fs

main
 begin  20 random dup . 10 <>
 while  20 random .
 repeat ;

\ use LEAVE to break out of a counted loop

main
 100 0 do
   i random dup .
   10 = if leave then
   i random .
 loop ;

</lang>

Java

<lang java>while(true){

   int a = (int)(Math.random()*20);
   System.out.println(a);
   if(a == 10) break;
   int b = (int)(Math.random()*20);
   System.out.println(b);

}</lang>