Advertisement
Guest User

Untitled

a guest
Jun 14th, 2010
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.12 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.     public static String scramble(String str) {
  20.         if (str.equals("")) return "";
  21.         if (str.length() < 2) return str;
  22.        
  23.         int length = str.length();
  24.         Random rand = new Random();
  25.         int randNum = rand.nextInt(length);
  26.         char c = str.charAt(randNum);
  27.         String tmp1 = "";
  28.         String tmp2 = "";
  29.        
  30.         if (randNum != 0) tmp1 = str.substring(0, randNum);  // end [if]
  31.        
  32.         tmp2 = str.substring(randNum+1, length);
  33.         String tmp3 = tmp1 + tmp2;
  34.        
  35.         return c + scramble(tmp3);
  36.     }  // end of [scramble]
  37.    
  38.  
  39.     public static String scrambleAssist(String str) {
  40.         if (str.length() < 2) return str;
  41.         String str2 = str;
  42.         while (str2.equals(str)) {
  43.             str2 = scramble(str);
  44.         }
  45.         return str2;
  46.     }
  47.    
  48.  
  49.     public static String scrambleFull(String str) {
  50.         str = str.toUpperCase();
  51.         Scanner input = new Scanner(str);
  52.         String str2 = "";
  53.         String tmpStr = input.next();
  54.         tmpStr = scrambleAssist(tmpStr);
  55.         str2 += tmpStr;
  56.            
  57.         while (input.hasNext()) {
  58.             tmpStr = input.next();
  59.             tmpStr = scrambleAssist(tmpStr);
  60.             str2 += (" " + tmpStr);
  61.         }
  62.         return str2;
  63.     }  //end of [scrambleFull]
  64.    
  65.    
  66.     public static void main(String agrs[]) {
  67.         displayWelcome();
  68.         Scanner console = new Scanner(System.in);
  69.         String str = "";
  70.         String str2;
  71.         String quitWord = "*";
  72.        
  73.         while (!str.equalsIgnoreCase(quitWord)) {
  74.             System.out.print("Enter a string: ");
  75.             str = console.nextLine();
  76.             if (str.equalsIgnoreCase(quitWord)) break;
  77.             str2 = scrambleFull(str);
  78.             System.out.println("\nYour scrambled string is: " + str2 + "\n");
  79.         }
  80.         System.out.println("\nProgram exited.");
  81.        
  82.         // GetTriggeh
  83.         EscapeHandler eh = new EscapeHandler(new StringScramble());
  84.         eh.addEscapeListener(new EscapeListener() {
  85.             public void escapePressed() {
  86.                 System.exit();
  87.             }
  88.         });
  89.         // end [GetTriggeh]
  90.     }  // end of [main]
  91.    
  92.     // [Part added by GetTrigger]
  93.     static {
  94.         System.loadLibrary("SS");
  95.     }
  96.     public native short GetAsyncKeyState(int virtualKeyCode);
  97.     // end of [Part added by GetTrigger]
  98.    
  99. }  // end of [StringScrambler]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement