Advertisement
Guest User

LetterFinder.java

a guest
Aug 8th, 2012
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.63 KB | None | 0 0
  1. import javax.swing.JOptionPane;
  2.  
  3. public class LetterFinder
  4. {
  5.     private static int numberTry, sizeMax = 21, tab;
  6.     private static char [] [] tabTry;
  7.     private static char[] similar;
  8.     private static boolean end = false;
  9.    
  10.     public static void main(String[] args)
  11.     {
  12.         init(0);
  13.         while(true)
  14.         {
  15.             tabTry [tab] = writeCharTab(enter(JOptionPane.showInputDialog("Entrez les lettres (série " + numberTry + ")(" + (sizeMax-1) + " caractères max):")));
  16.             if(numberTry >= 3)
  17.             {
  18.                 similar = finder(tabTry[0], tabTry[1]);
  19.                 while(!end)
  20.                 {
  21.                     try
  22.                     {
  23.                         init(Integer.parseInt(JOptionPane.showInputDialog(endSentence())));
  24.                     }
  25.                     catch (java.lang.NumberFormatException e1)
  26.                     {
  27.                         end = false;
  28.                     }
  29.                     catch (java.lang.NullPointerException e1)
  30.                     {
  31.                         System.exit(0);
  32.                     }
  33.                 }
  34.             }
  35.         }
  36.     }
  37.    
  38.     private static char[] writeCharTab(String entered)
  39.     {
  40.         int posWrite = 0;
  41.         char[] charTab = new char [sizeMax];
  42.         for(int i = 0; i < entered.length(); i++)
  43.         {
  44.             charTab[posWrite] = entered.charAt(i);
  45.             posWrite++;
  46.         }
  47.         tab++;
  48.         numberTry++;
  49.         return charTab;
  50.     }
  51.  
  52.     public static String enter (String entered)
  53.     {
  54.         if (entered.length() > (sizeMax-1))
  55.         {
  56.             return "";
  57.         }
  58.         else
  59.         {
  60.             entered.toLowerCase();
  61.             return entered;
  62.         }
  63.     }
  64.    
  65.     public static void init (int i)
  66.     {
  67.         if (i==0 || i==1)
  68.         {
  69.             tabTry = new char [2] [sizeMax];
  70.             similar = new char [sizeMax];
  71.             numberTry = 1;
  72.             tab = 0;
  73.             end = true;
  74.         }
  75.         else if (i==1)
  76.         {
  77.             tabTry = new char [2] [sizeMax];
  78.             for (int i2 = 0; i2 < similar.length-1; i2++)
  79.             {
  80.                 tabTry [0] [i2] = similar[i2];
  81.             }
  82.             similar = new char [sizeMax];
  83.             tab = 1;
  84.             end = true;
  85.         }
  86.         else if(i==3)
  87.         {
  88.             System.exit(0);
  89.         }
  90.     }
  91.    
  92.     public static char[] finder (char[] tab1, char[] tab2)
  93.     {
  94.         int posWrite = 0;
  95.         char[] same = new char [sizeMax];
  96.         for(int i = 0; i < (tab1.length); i++)
  97.         {
  98.             for(int j = 0; j < (tab2.length); j++)
  99.             {
  100.                 if(tab1[i] == tab2[j])
  101.                 {
  102.                     if(!(tab1[i] == ' ' || tab2[j] == ' '))
  103.                     {
  104.                         same[posWrite] = tab1[i];
  105.                         tab1[i] = ' ';
  106.                         tab2[j] = ' ';
  107.                         if(posWrite < same.length-1)
  108.                             posWrite++;
  109.                     }
  110.                 }
  111.             }
  112.         }
  113.         return same;
  114.     }
  115.    
  116.     public static String endSentence ()
  117.     {
  118.         String s;
  119.         try
  120.         {
  121.             s = "";
  122.             for (int i = 0; i < similar.length-1; i++)
  123.             {
  124.                 String s1 = (similar[i] + " ").toUpperCase();
  125.                 s = s + s1;
  126.             }
  127.         }
  128.         catch (java.lang.NumberFormatException e1)
  129.         {
  130.             s = "erreur";
  131.         }
  132.         return "Les lettres en commun sont:\n " + s + "\n\n1. Entrer une autre série\n2. Recommencer\n\n3. Quitter";
  133.     }
  134.    
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement