btw your realtime singlish was good.. i mean the idea and UI... was gr8
package example1;
import java.util.LinkedList;
import java.util.Random;
import java.util.Scanner;
import java.util.TreeSet;
class Permutations {
static LinkedList numbers = new LinkedList();
static TreeSet permutations = new TreeSet();
static Scanner input = new Scanner(System.in);
public void getInput() {
int i;
do {
System.out.println("Enter a negative number to stop entering the numbers");
i = input.nextInt();
if (i >= 0) {
numbers.add(i);
}
} while (i >= 0);
}
public void getPermutations() {
Random r1 = new Random();
int size = numbers.size();
LinkedList tmpNumbers=new LinkedList();
do {
tmpNumbers.addAll(numbers);
String s = "";
int tmpRandom;
while (tmpNumbers.size() > 0) {
tmpRandom = r1.nextInt(tmpNumbers.size());
s += "" + tmpNumbers.get(tmpRandom);
tmpNumbers.remove(tmpRandom);
}
permutations.add(s);
} while (permutations.size() < calculateSize(size));
}
static int calculateSize(int number) {
int fib = 1;
for (int i = number; i > 0; i--) {
fib *= i;
}
return fib;
}
public static void main(String[] args) {
Permutations p1 = new Permutations();
p1.getInput();
System.out.println("You input =" + numbers);
System.out.println("****Non Repeating Permutations****");
p1.getPermutations();
System.out.println(permutations);
}
}
ඔයා search කරල ඇඩ් කරනව වගේ එකක් තමා කරන්නේ result එක ආවාට random numbers පාවිච්චි කරන නිසා වෙලාව තමා ප්රශ්නය වෙන්නේ, ඒත් උත්සාහය හොදයි!Sry Bro ....Had lots of work this week !! So couldn't reply !!
I gave a try !!
Code:package example1; import java.util.LinkedList; import java.util.Random; import java.util.Scanner; import java.util.TreeSet; class Permutations { static LinkedList numbers = new LinkedList(); static TreeSet permutations = new TreeSet(); static Scanner input = new Scanner(System.in); public void getInput() { int i; do { System.out.println("Enter a negative number to stop entering the numbers"); i = input.nextInt(); if (i >= 0) { numbers.add(i); } } while (i >= 0); } public void getPermutations() { Random r1 = new Random(); int size = numbers.size(); LinkedList tmpNumbers=new LinkedList(); do { tmpNumbers.addAll(numbers); String s = ""; int tmpRandom; while (tmpNumbers.size() > 0) { tmpRandom = r1.nextInt(tmpNumbers.size()); s += "" + tmpNumbers.get(tmpRandom); tmpNumbers.remove(tmpRandom); } permutations.add(s); } while (permutations.size() < calculateSize(size)); } static int calculateSize(int number) { int fib = 1; for (int i = number; i > 0; i--) { fib *= i; } return fib; } public static void main(String[] args) { Permutations p1 = new Permutations(); p1.getInput(); System.out.println("You input =" + numbers); System.out.println("****Non Repeating Permutations****"); p1.getPermutations(); System.out.println(permutations); } }
ඔයා search කරල ඇඩ් කරනව වගේ එකක් තමා කරන්නේ result එක ආවාට random numbers පාවිච්චි කරන නිසා වෙලාව තමා ප්රශ්නය වෙන්නේ, ඒත් උත්සාහය හොදයි!



Yr bro accept it !!!!![]()
Did U run it and see ? If the number of integers are very few ...(less than 10) it gives the answer very quickly .less than 2 seconds !!
less than 2 seconds is not very fast too! 
C++ wala .exe file hadana hati kauru hari dannawada
Machan Visual Studio eken exe hadala denawane !!
Follow this video