+ 3
Simple c# syntax help.
Hello. I have a simple c# game, where user has to guess a number between 1 and 10. There are two functions: Main() and Game() Second function check to see if number inputted equals to the number generated. I get a syntax error stating that there is expected a semicolon at the end which I have placed... Any suggestions? https://code.sololearn.com/cB6XvTaq8T9o/?ref=app
5 ответов
+ 3
Hi Lamron,
You made a mistake in line 19:
Random int randint = new Random(); // Wrong
Random randint = new Random(); // Correct
and following this correction, you need to change next lines:
/* Line 20 */ randint = randint.Next(0, 10); // Error assigning an int number to a Random variable
int randNum = randint.Next(0, 10); // Correct
/* Line 22 */ if(num == randint) // Error comparing an int number with a Random variable
if(num == randNum) // Correct
+ 3
Lamron
Random randint = new Random();
create an object.
The method Next() create a random number in this claas.
In C# you have to define a new variable and thus first will be needed to write
int myNewRndNumber = randint.Next(0,10);
After you can use the myNewRndNumber how you want as an integer.
If you want you could code this task without new variable as follows:
if(num == randint.Next(0,10))
+ 2
The "Random" is a class to generate random numbers with various options, and "Next" method of this class, generates a random "integer" number.
So, first you need to instantiate an object from Random class (e.g., Random randomObject = new Random();)
Then, you need to create an integer variable to store generated number (e.g., int randomIntegerNumber = randomObject.Next();)
If you don't store this int number, you can't use it in following code lines.
However, since the random number in this simple program is only used once, you can shorten it as follows:
static void Game(int num) {
if(num == new Random().Next(0, 10)) {
Console.WriteLine("Well done! The guess is correct!");
}
.
.
.
+ 2
Artin Azari JaScript , thanks for clarification
+ 1
Artin Azari , thanks I'll change the code soon.
If you don't mind, could you please answer why do we need to assign a new variable to store a result of a function from "Random" class?