# Generate a random number

• 07-17-2007, 03:04 PM
romina
Generate a random number
I am doing a program and i ahve some problems here.
this is what i have so far.
Code:

```import java.util.Scanner; import java.util.*; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; public class Test { public static void main(String[] args) throws IOException { int total = 0; int number = 0; int numbera = 0; while (total < 12) { for (int i = 1; i < 2; i++) { number = 1 + (int) (Math.random() * 6); } System.out.println("You want to roll again, y or n"); Reader r = new InputStreamReader(System.in); char c = (char) r.read(); String s = new Character(c).toString(); if (s.equalsIgnoreCase("y")) { total += number; } else if (s.equalsIgnoreCase("n")) { total = number; } System.out.println("The total number of spots are " + total); } System.out.println("YOU LOSE!!!"); { } } }```
after i press "n" it should automatically be the computers turn.
this is are rules of the computer.
1. Should generate a random number between 1 and 6 if it generates anything that =>8 it should stop and compare with my score.
2. If it generates anything > 11 it losses (if i dont generate anything >11)
3. Compares who wins at the end (player or computer).

Thanks
• 08-07-2007, 05:23 AM
trill
It seems like your program is running, what's wrong with it?

Code:

```import java.util.Scanner; import java.util.*; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; public class Test {   public static void main(String[] args) throws IOException   {     int total = 0;     int totala = 0;     int number = 0;     int numbera = 0;     while (total < 12)     {       for (int i = 1; i < 2; i++)       {         number = 1 + (int) (Math.random() * 6);         numbera = 1 + (int) (Math.random() * 6);       }       System.out.println("You want to roll again, y or n");       Reader r = new InputStreamReader(System.in);       char c = (char) r.read();       String s = new Character(c).toString();       total += number;       totala += numbera;       if (s.equalsIgnoreCase("y"))       {         System.out.println ("The total number of spots are " + total);       }       else if(total > 10)       {         System.out.println("YOU LOSE!!!");       }       if (s.equalsIgnoreCase("n"))       {         System.out.println("The total the computer has generated are " + totala);       }       else if (total > totala)       {         System.out.println("Well done you Win ");       }       else if (totala > total)       {         System.out.println("You have lost Better luck next time");       }       else if (total==totala)       {         System.out.println("Game Is Drawn");       }     }   } }```

If you're unsure if it's working or not, put in some System.out.println(); printing out variable names as they come up to make sure it works.

Basic Debugging. I know in some IDE's you can even step through a program and it will show you what variables are currently in use or have been assigned.
Greetings.