Luyện tập câu lệnh phát sinh ngẫn nhiên random

Trong bài viết này mình sẽ hướng dẫn các bạn cách tạo các số ngẫu nhiên (random) trong C#. Đây là dạng bài tập thường gặp khi bắt đầu học ngôn ngữ lập trình nào đó nói chung và C# nói riêng.

Luyện tập câu lệnh phát sinh ngẫn nhiên random

Luyện tập câu lệnh phát sinh ngẫn nhiên random

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Mình sẽ thực hiện hai chương trình để tạo các số ngẫu nhiên. Chương trình đầu tiên sẽ tạo các số ngẫu nhiên từ 1 đến một số nào đó. Chương trình thứ hai sẽ tạo các số ngẫu nhiên trong một khoảng nhất định do người dùng nhập.

Tạo các số ngẫu nhiên trong C#

Để tạo các số ngẫu nhiên trong C#, khai báo và sử dụng đối tượng Random. Đây là một đối tượng cho phép chúng ta tạo số ngẫu nhiên với giới hạn là số được nhập vào.

Random random = new Random();
random.Next(a);

Trong đó a là giới hạn của các số random, các số được tạo ngẫu nhiên trong khoảng từ 1 đến a.

Bài viết này được đăng tại [free tuts .net]

Để có thể tạo các số ngẫu nhiên mà số lượng được nhập bởi người dùng, ta sử dụng vòng lặp for để lặp và tạo.

//sử dụng vòng lặp for để lặp từ 1 đến số a, tức là hiển thị a số random
for(int i = 1; i <= a; i++)
{
      //sử dụng random.Next(b) để hiển thị các số ngẫu nhiên giới hạn là b
      Console.Write(random.Next(b) + " ");
}

Full code:

using System;

namespace BaiTapCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            //khai báo biến a là số lượng các số cần radom và biến b là giới hạn các số random
            int a, b;
            //yêu cầu người dùng nhập vào số a và số b
            Console.Write("\n Nhap vao so luong so can random: ");
            a = Convert.ToInt32(Console.ReadLine());
            Console.Write("\n Nhap vao gioi han cua so random: ");
            b = Convert.ToInt32(Console.ReadLine());

            //khai báo đối tượng Random
            Random random = new Random();
            //hiển thị các số random
            Console.Write("\n Cac so random la: ");
            //sử dụng vòng lặp for để lặp từ 1 đến số a, tức là hiển thị a số random
            for(int i = 1; i <= a; i++)
            {
                //sử dụng random.Next(b) để hiển thị các số ngẫu nhiên giới hạn là b
                Console.Write(random.Next(b) + " ");
            }
           
            Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---");
        }
    }
}

Kết quả:

Luyện tập câu lệnh phát sinh ngẫn nhiên random

Tạo các số ngẫu nhiên trong một khoảng nhất định trong C#

Để tạo các số ngẫu nhiên trong một khoảng nhất định do người dùng nhập ta chỉ cần xử lý thêm một chút là xong.

Giả sử ta có số bắt đầu là b và số kết thúc là c. Khi đó các số ngẫu nhiên trong khoảng b -> c được xử lý như sau:

random.Next(c - (b - 1)) + b

Ví dụ:

using System;

namespace BaiTapCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            //khai báo biến a là số lượng các số cần radom và biến b là số bắt đầu, c là số kết thúc
            int a, b, c;
            //yêu cầu người dùng nhập vào số a và số b
            Console.Write("\n Nhap vao so luong so can random: ");
            a = Convert.ToInt32(Console.ReadLine());
            Console.Write("\n Nhap vao so bat dau: ");
            b = Convert.ToInt32(Console.ReadLine());
            Console.Write("\n Nhap vao so ket thuc: ");
            c = Convert.ToInt32(Console.ReadLine());

            //khai báo đối tượng Random
            Random random = new Random();
            //hiển thị các số random
            Console.Write("\n Cac so random la: ");
            //sử dụng vòng lặp for để lặp từ 1 đến số a, tức là hiển thị a số random
            for(int i = 1; i <= a; i++)
            {
                //tạo các số ngẫu nhiên từ b -> c
                Console.Write((random.Next(c - (b - 1)) + b) + " ");
            }
           
            Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---");
        }
    }
}

Kết quả:

Luyện tập câu lệnh phát sinh ngẫn nhiên random

Như vậy là chúng ta đã thực hiện xong chương trình tạo các số ngẫu nhiên trong C#. Các bạn hãy luyện tập thật nhiều để có thể sử dụng nó một cách thành thạo nhé, chúc các bạn thành công !!!

Trong bài trước, tôi đã đưa ra một bài tập sinh số ngẫu nhiên có kiểu dữ liệu là

Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
1 bằng cách sử dụng phương thức
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
2. Trong bài này, chúng ta sẽ cùng nhau tìm hiểu cách sinh số ngẫu nhiên khác đó là sử dụng thư viện xử lý số ngẫu nhiên
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
3 trong Java. Cuối bài này, tôi sẽ đưa ra một số bài tập để các bạn luyện tập!

Luyện tập câu lệnh phát sinh ngẫn nhiên random

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Tạo mới 1 Random

Như chúng ta đã biết, phương thức

Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
2 của thư viện xử lý toán học
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
5 chỉ được dùng để sinh số ngẫu nhiên có kiểu dữ liệu là
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
1, thì đối với thư viện xử lý số ngẫu nhiên
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
3 của Java chúng ta có thể sinh các giá trị ngẫu nhiên có kiểu dữ liệu là
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
8,
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
9,
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
1,
public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
	System.out.println("Số vừa được sinh ra là " + number);
		
	int number1 = rd.nextInt(4);	// trả về 1 số nguyên nằm trong phạm vi [0...3)
	System.out.println("Số vừa được sinh ra là " + number1);
		
	// trả về 1 số nguyên nằm trong phạm vi [-4...-1]
	// đối với rd.nextInt(4) thì số lớn nhất là 3 và số nhỏ nhất là 0
	// ta có 3 - 4 = -1 và 0 - 4 = -4
	// nên các số được sinh ra sẽ nằm trong đoạn [-4...-1]
	int number2 = -4 + rd.nextInt(4);	
	System.out.println("Số vừa được sinh ra là " + number2);
}
1,
public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
	System.out.println("Số vừa được sinh ra là " + number);
		
	int number1 = rd.nextInt(4);	// trả về 1 số nguyên nằm trong phạm vi [0...3)
	System.out.println("Số vừa được sinh ra là " + number1);
		
	// trả về 1 số nguyên nằm trong phạm vi [-4...-1]
	// đối với rd.nextInt(4) thì số lớn nhất là 3 và số nhỏ nhất là 0
	// ta có 3 - 4 = -1 và 0 - 4 = -4
	// nên các số được sinh ra sẽ nằm trong đoạn [-4...-1]
	int number2 = -4 + rd.nextInt(4);	
	System.out.println("Số vừa được sinh ra là " + number2);
}
2.

Để khai báo 1

Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
3, chúng ta sẽ import gói thư viện
public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
	System.out.println("Số vừa được sinh ra là " + number);
		
	int number1 = rd.nextInt(4);	// trả về 1 số nguyên nằm trong phạm vi [0...3)
	System.out.println("Số vừa được sinh ra là " + number1);
		
	// trả về 1 số nguyên nằm trong phạm vi [-4...-1]
	// đối với rd.nextInt(4) thì số lớn nhất là 3 và số nhỏ nhất là 0
	// ta có 3 - 4 = -1 và 0 - 4 = -4
	// nên các số được sinh ra sẽ nằm trong đoạn [-4...-1]
	int number2 = -4 + rd.nextInt(4);	
	System.out.println("Số vừa được sinh ra là " + number2);
}
4 của Java. Cú pháp tạo mới 1 đối tượng
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
3 như sau:

Bài viết này được đăng tại [free tuts .net]

Cú pháp

// Khai báo Random
// thì import gói thư viện java.util.Random
import java.util.Random;
public class TênClass {
	// Tạo mới 1 đối tượng Random
	// sử dụng từ khóa new
	Random rd = new Random();
}

Sau đây chúng ta sẽ cùng nhau tìm hiểu các phương thức phổ biến của thư viện này.

2. Các phương thức của Random

Phương thức nextInt()

Phương thức

public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
	System.out.println("Số vừa được sinh ra là " + number);
		
	int number1 = rd.nextInt(4);	// trả về 1 số nguyên nằm trong phạm vi [0...3)
	System.out.println("Số vừa được sinh ra là " + number1);
		
	// trả về 1 số nguyên nằm trong phạm vi [-4...-1]
	// đối với rd.nextInt(4) thì số lớn nhất là 3 và số nhỏ nhất là 0
	// ta có 3 - 4 = -1 và 0 - 4 = -4
	// nên các số được sinh ra sẽ nằm trong đoạn [-4...-1]
	int number2 = -4 + rd.nextInt(4);	
	System.out.println("Số vừa được sinh ra là " + number2);
}
6 sẽ trả về 1 số ngẫu nhiên có kiểu
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
8.

Cú pháp

Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]

Ví dụ

public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
	System.out.println("Số vừa được sinh ra là " + number);
		
	int number1 = rd.nextInt(4);	// trả về 1 số nguyên nằm trong phạm vi [0...3)
	System.out.println("Số vừa được sinh ra là " + number1);
		
	// trả về 1 số nguyên nằm trong phạm vi [-4...-1]
	// đối với rd.nextInt(4) thì số lớn nhất là 3 và số nhỏ nhất là 0
	// ta có 3 - 4 = -1 và 0 - 4 = -4
	// nên các số được sinh ra sẽ nằm trong đoạn [-4...-1]
	int number2 = -4 + rd.nextInt(4);	
	System.out.println("Số vừa được sinh ra là " + number2);
}

Kết quả sau khi biên dịch chương trình (kết quả của mỗi lần biên dịch chương trình sẽ khác nhau):

Luyện tập câu lệnh phát sinh ngẫn nhiên random

Phương thức nextFloat()

Phương thức

public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
	System.out.println("Số vừa được sinh ra là " + number);
		
	int number1 = rd.nextInt(4);	// trả về 1 số nguyên nằm trong phạm vi [0...3)
	System.out.println("Số vừa được sinh ra là " + number1);
		
	// trả về 1 số nguyên nằm trong phạm vi [-4...-1]
	// đối với rd.nextInt(4) thì số lớn nhất là 3 và số nhỏ nhất là 0
	// ta có 3 - 4 = -1 và 0 - 4 = -4
	// nên các số được sinh ra sẽ nằm trong đoạn [-4...-1]
	int number2 = -4 + rd.nextInt(4);	
	System.out.println("Số vừa được sinh ra là " + number2);
}
8 sẽ trả về 1 số ngẫu nhiên có kiểu
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
9 nằm trong phạm vi [0.0f...1.0f).

Cú pháp

Random rd = new Random();
float floatNumber = rd.nextFloat();	// trả về 1 số bất kỳ có kiểu là float

Ví dụ

public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	float floatNumber = rd.nextFloat();	// trả về 1 số bất kỳ có kiểu là float
	System.out.println("Số vừa được sinh ra là " + floatNumber);
}

Kết quả sau khi biên dịch chương trình (kết quả của mỗi lần biên dịch chương trình sẽ khác nhau):

Luyện tập câu lệnh phát sinh ngẫn nhiên random

Phương thức nextDouble()

Phương thức

Random rd = new Random();
float floatNumber = rd.nextFloat();	// trả về 1 số bất kỳ có kiểu là float

0 sẽ trả về 1 số ngẫu nhiên có kiểu
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
1 nằm trong phạm vi [0.0d...1.0d).

Cú pháp

Random rd = new Random();
// trả về 1 số bất kỳ có kiểu là double
double doubleNumber = rd.nextDouble();	


Ví dụ

public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
		
	// trả về 1 số bất kỳ có kiểu là double
	double doubleNumber = rd.nextDouble();	
	System.out.println("Số vừa được sinh ra là " + doubleNumber);
}

Kết quả sau khi biên dịch chương trình (kết quả của mỗi lần biên dịch chương trình sẽ khác nhau):

Luyện tập câu lệnh phát sinh ngẫn nhiên random

Phương thức nextLong()

Phương thức

Random rd = new Random();
float floatNumber = rd.nextFloat();	// trả về 1 số bất kỳ có kiểu là float

2 sẽ trả về 1 số ngẫu nhiên có kiểu
public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
	System.out.println("Số vừa được sinh ra là " + number);
		
	int number1 = rd.nextInt(4);	// trả về 1 số nguyên nằm trong phạm vi [0...3)
	System.out.println("Số vừa được sinh ra là " + number1);
		
	// trả về 1 số nguyên nằm trong phạm vi [-4...-1]
	// đối với rd.nextInt(4) thì số lớn nhất là 3 và số nhỏ nhất là 0
	// ta có 3 - 4 = -1 và 0 - 4 = -4
	// nên các số được sinh ra sẽ nằm trong đoạn [-4...-1]
	int number2 = -4 + rd.nextInt(4);	
	System.out.println("Số vừa được sinh ra là " + number2);
}
1.

Cú pháp

Random rd = new Random();	// khai báo 1 đối tượng Random	
// trả về 1 số bất kỳ có kiểu long
long longNumber = rd.nextLong();


Ví dụ

public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
		
	// trả về 1 số bất kỳ có kiểu long
	long longNumber = rd.nextLong();
	System.out.println("Số vừa được sinh ra là " + longNumber);
}

Kết quả sau khi biên dịch chương trình (kết quả của mỗi lần biên dịch chương trình sẽ khác nhau):

Luyện tập câu lệnh phát sinh ngẫn nhiên random

Phương thức nextBoolean()

Phương thức

Random rd = new Random();
float floatNumber = rd.nextFloat();	// trả về 1 số bất kỳ có kiểu là float

4 sẽ trả về 1 biến ngẫu nhiên có giá trị là
Random rd = new Random();
float floatNumber = rd.nextFloat();	// trả về 1 số bất kỳ có kiểu là float

5 hoặc
Random rd = new Random();
float floatNumber = rd.nextFloat();	// trả về 1 số bất kỳ có kiểu là float

6.

Cú pháp

Random rd = new Random();	// khai báo 1 đối tượng Random	
// trả về 1 biến bool có giá trị là true hoặc false.
boolean bool = rd.nextBoolean();


Ví dụ

Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]
0

Kết quả sau khi biên dịch chương trình:

Luyện tập câu lệnh phát sinh ngẫn nhiên random

3. Lời kết

Trong bài này, tôi đã hướng dẫn các bạn tìm hiểu về thư viện xử lý số ngẫu nhiên Random trong Java và tôi cũng đã đưa ra một số ví dụ minh họa các phương thức của thư viện này. Sang bài này, chúng ta sẽ tìm hiểu thư viện cuối cùng - đó là thư viện xử lý chuỗi trong Java. Các bạn theo dõi nhé!