This is a java program to generate a random partitioning of a set of characters or numbers in to two sets. Randomly generate an index less than the total number of elements in the set.
Here is the source code of the Java Program to Generate Random Partition out of a Given Set of Numbers or Characters. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to perform partitioning at random index and generate two sets for given set of numbers or characters
import java.util.Random;
import java.util.Scanner;
public class Random_Partition
{
public static void main(String args[])
{
Random random = new Random();
Scanner sc = new Scanner(System.in);
int noc = random.nextInt(2);
// if noc is equal to 1 generate numbers
if (noc == 1)
{
int N = 10;
int[] sequence = new int[N];
System.out.print("The Original set of numbers are:\n ");
for (int i = 0; i < N; i++)
{
sequence[i] = Math.abs(random.nextInt(100));
System.out.print(sequence[i] + " ");
}
int partition_index = random.nextInt(11);
System.out.println("\nThe two sequemces are: ");
System.out.print("{ ");
for (int i = 0; i < N; i++)
{
if (i == partition_index)
System.out.print(" } and { ");
System.out.print(sequence[i] + " ");
}
System.out.print("}");
System.out
.println("\nPartitioning around index " + partition_index);
}
// else generate characters
else
{
int N = 10;
char[] sequence = new char[N];
System.out.print("The Original set of characters are:\n ");
for (int i = 0; i < N; i++)
{
sequence[i] = (char) Math.abs(random.nextInt(123 - 97) + 97);
System.out.print(sequence[i] + " ");
}
int partition_index = random.nextInt(11);
System.out.println("\nThe two sequences are: ");
System.out.print("{ ");
for (int i = 0; i < N; i++)
{
if (i == partition_index)
System.out.print(" } and { ");
System.out.print(sequence[i] + " ");
}
System.out.print("}");
System.out
.println("\nPartitioning around index " + partition_index);
}
sc.close();
}
}
Output:
$ javac Random_Partition.java
$ java Random_Partition
The Original set of numbers are:
70 13 10 36 78 98 18 64 60 84
The two sequences are:
{ 70 13 10 36 78 98 18 64 } and { 60 84 }
Partitioning around index 8
The Original set of characters are:
n p r e m z y o x p
The two sequences are:
{ n p r e m z } and { y o x p }
Partitioning around index 6
Related posts:
Java Program to Implement Adjacency Matrix
Feign – Tạo ứng dụng Java RESTful Client
Spring Boot - Eureka Server
Check if a String is a Palindrome in Java
Java Program to Find the Nearest Neighbor Using K-D Tree Search
Using a List of Values in a JdbcTemplate IN Clause
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
HttpClient 4 Cookbook
Java Program to Implement Counting Sort
Overflow and Underflow in Java
Query Entities by Dates and Times with Spring Data JPA
Lớp HashMap trong Java
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path
Finding the Differences Between Two Lists in Java
Java Program to Implement Warshall Algorithm
Guide to @ConfigurationProperties in Spring Boot
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Introduction to the Java ArrayDeque
Comparing Strings in Java
Lớp Arrarys trong Java (Arrays Utility Class)
Hướng dẫn Java Design Pattern – State
Generating Random Dates in Java
Java Program to Implement the Bin Packing Algorithm
Guava Collections Cookbook
Java Program to Generate a Random Subset by Coin Flipping
Java Program to Find Nearest Neighbor Using Linear Search
Adding a Newline Character to a String in Java
Java Program to Implement Adjacency List
Java Program to Implement Graph Coloring Algorithm
Java Program to Implement RoleUnresolvedList API
Guide to Java OutputStream
Guide to PriorityBlockingQueue in Java