Hi folks! Recently I had created a Java Program to jumble up words. And I am here to share it with you all. Here's the program. Just copy and paste and compile this program :
Java Program :
import java.io.*;
import java.util.*;
class jumbled_updated
{
static String s,s1="";
static char[] a;
static String[] b;
static void main()throws IOException
{
input();
separate();
jumble();
display();
}
static void input()throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter the word/s : ");
s=br.readLine();
if(s.length()<3)
{
System.out.print("\nPlease enter atleast three characters\n\n");
input();
}
a=new char[s.length()];
}
static void separate()
{
int i,u=0,l=0,c1=0;
char k,c=1;
for(i=0;i<s.length();i++)
{
k=s.charAt(i);
if(k==' ')
c++;
}
b=new String[c];
for(i=0;i<s.length();i++)
{
k=s.charAt(i);
if(k==' ')
{
u=i;
b[c1]=s.substring(l,u);
l=u+1;
c1++;
}
}
b[c1]=s.substring(l,s.length());
}
static void jumble()
{
int c1,c2,i,j,k,c=0,c3=2;
char k1;
Random r1=new Random();
Random r2=new Random();
for(i=1;i<=b.length;i++)
{
a=new char[b[c].length()];
for(j=0;j<b[c].length();j++)
a[j]=b[c].charAt(j);
for(k=0;k<=s.length()*3;k++)
{
c1=r1.nextInt(b[c].length()-1);
c2=r2.nextInt(b[c].length()-1);
k1=a[c1];
a[c1]=a[c2];
a[c2]=k1;
}
for(k=0;k<a.length;k++)
s1=s1+a[k];
if(c3<=b.length)
s1=s1+" ";
c++;
c3++;
}
}
static void display()
{
System.out.print("\nThe jumbled word is : "+s1);
s1="";
}
}
Please comment if you like this post.
Java Program :
import java.io.*;
import java.util.*;
class jumbled_updated
{
static String s,s1="";
static char[] a;
static String[] b;
static void main()throws IOException
{
input();
separate();
jumble();
display();
}
static void input()throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter the word/s : ");
s=br.readLine();
if(s.length()<3)
{
System.out.print("\nPlease enter atleast three characters\n\n");
input();
}
a=new char[s.length()];
}
static void separate()
{
int i,u=0,l=0,c1=0;
char k,c=1;
for(i=0;i<s.length();i++)
{
k=s.charAt(i);
if(k==' ')
c++;
}
b=new String[c];
for(i=0;i<s.length();i++)
{
k=s.charAt(i);
if(k==' ')
{
u=i;
b[c1]=s.substring(l,u);
l=u+1;
c1++;
}
}
b[c1]=s.substring(l,s.length());
}
static void jumble()
{
int c1,c2,i,j,k,c=0,c3=2;
char k1;
Random r1=new Random();
Random r2=new Random();
for(i=1;i<=b.length;i++)
{
a=new char[b[c].length()];
for(j=0;j<b[c].length();j++)
a[j]=b[c].charAt(j);
for(k=0;k<=s.length()*3;k++)
{
c1=r1.nextInt(b[c].length()-1);
c2=r2.nextInt(b[c].length()-1);
k1=a[c1];
a[c1]=a[c2];
a[c2]=k1;
}
for(k=0;k<a.length;k++)
s1=s1+a[k];
if(c3<=b.length)
s1=s1+" ";
c++;
c3++;
}
}
static void display()
{
System.out.print("\nThe jumbled word is : "+s1);
s1="";
}
}
Please comment if you like this post.
//Optimized code
ReplyDeletepackage pk;
import java.io.*;
import java.util.Random;
public class Annagrams {
public static void main(String[] args)throws Exception
{
String s2="",s1="";
int len,rand;
Random r1=new Random();
System.out.println("Enter the word you want to jumble:");
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
s1=br.readLine();
StringBuilder s=new StringBuilder(s1);
len=s1.length();
do
{
rand=r1.nextInt(len);
s2=s2+s.charAt(rand);
s.deleteCharAt(rand);
len--;
}while(len>0);
System.out.println("The Jumbled word is :"+s2);
}
}