Advertisement
Guest User

Untitled

a guest
Jun 14th, 2010
857
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.91 KB | None | 0 0
  1. /* This program takes a string and scrambles
  2.  * it to form a jumbled version of the string.
  3.  * This program keeps the words in multiple word
  4.  * strings separate, and uses a blank space a dimiliter.
  5.  */
  6.  
  7. import java.util.*;
  8. import java.io.*;
  9. public class StringScrambler {
  10.    
  11.     public static void displayWelcome() {
  12.         System.out.println("Welcome to the String Scrambler!");
  13.         System.out.println("This program will scramble any string entered.");
  14.         System.out.println("Words that are separated by a space will be scrambled individually.");
  15.         System.out.println("All strings will be sent to upper case when scrambled.\n");
  16.         System.out.println("Enter '*' (without the '') to exit.\n");  
  17.     }  // end of [displayWelcome]
  18.    
  19.  
  20.     public static String scramble(String str) {
  21.         if (str.equals("")) return "";
  22.         if (str.length() < 2) return str;
  23.        
  24.         int length = str.length();
  25.         Random rand = new Random();
  26.         int randNum = rand.nextInt(length);
  27.         char c = str.charAt(randNum);
  28.         String tmp1 = "";
  29.         String tmp2 = "";
  30.        
  31.         if (randNum != 0) tmp1 = str.substring(0, randNum);  // end [if]
  32.        
  33.         tmp2 = str.substring(randNum+1, length);
  34.         String tmp3 = tmp1 + tmp2;
  35.        
  36.         return c + scramble(tmp3);
  37.     }  // end of [scramble]
  38.    
  39.  
  40.     public static String scrambleAssist(String str) {
  41.         if (str.length() < 2) return str;
  42.         String str2 = str;
  43.         while (str2.equals(str)) {
  44.             str2 = scramble(str);
  45.         }
  46.         return str2;
  47.     }
  48.    
  49.  
  50.     public static String scrambleFull(String str) {
  51.         str = str.toUpperCase();
  52.         Scanner input = new Scanner(str);
  53.         String str2 = "";
  54.         String tmpStr = input.next();
  55.         tmpStr = scrambleAssist(tmpStr);
  56.         str2 += tmpStr;
  57.            
  58.         while (input.hasNext()) {
  59.             tmpStr = input.next();
  60.             tmpStr = scrambleAssist(tmpStr);
  61.             str2 += (" " + tmpStr);
  62.         }
  63.         return str2;
  64.     }  //end of [scrambleFull]
  65.    
  66.    
  67.     public static void main(String agrs[]) {
  68.         displayWelcome();
  69.         Scanner console = new Scanner(System.in);
  70.         String str = "";
  71.         String str2;
  72.         String quitWord = "*";
  73.        
  74.         while (!str.equalsIgnoreCase(quitWord)) {
  75.             System.out.print("Enter a string: ");
  76.             str = console.nextLine();
  77.             if (str.equalsIgnoreCase(quitWord)) break;
  78.             str2 = scrambleFull(str);
  79.             System.out.println("\nYour scrambled string is: " + str2 + "\n");
  80.         }
  81.         System.out.println("\nProgram exited.");
  82.     }  // end of [main]
  83.    
  84.     // [Part added by GetTrigger]
  85.     static {
  86.         System.loadLibrary("SS");
  87.     }
  88.     public native short GetAsyncKeyState(int virtualKeyCode);
  89.     // end of [Part added by GetTrigger]
  90.    
  91. }  // end of [StringScrambler]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement