chillurbrain

Tasks 8.1

Feb 14th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.86 KB | None | 0 0
  1. package lab8;
  2.  
  3. public class NewMethods {
  4.     //1. Метод для нахождения длины строки.
  5.     static int myStrlen(String src) {
  6.         int length = 0;
  7.         for (char c : src.toCharArray())
  8.             length++;
  9.         return length;
  10.     }
  11.  
  12.     //2. Метод для копирования строки src в строку dest.
  13.     static void mySrtcpy(String dest, String src) {
  14.         String srcBackUp = dest;
  15.         dest = src;
  16.         System.out.println(dest);
  17.     }
  18.     //3. Метод для дополнения "строки" dest строкой src.
  19.     static void myStrcat(char[] dest, String src) {
  20.         int indexOfEmptySocket = 0;
  21.         int count = 0;
  22.         for (char c : dest) {
  23.             if (c != '\u0000')
  24.                 indexOfEmptySocket++;
  25.         }
  26.         for (int i = indexOfEmptySocket; i < (dest.length - (dest.length - indexOfEmptySocket - src.length())); i++) {
  27.             dest[i] = src.toCharArray()[count];
  28.             count++;
  29.         }
  30.         count = 0;
  31.     }
  32.     //4. Метод для сравнения двух строк.
  33.     static int myStrcmp(String s1, String s2) {
  34.         char[] tempArr1 = s1.toCharArray();
  35.         char[] tempArr2 = s2.toCharArray();
  36.         int length = s1.length();
  37.         if (s1.length() >= s2.length())
  38.             length = s2.length();
  39.         for (int i = 0; i < length; i++) {
  40.             if ((int)tempArr1[i] < (int)tempArr2[i])
  41.                 return -1;
  42.             if ((int)tempArr1[i] > (int)tempArr2[i])
  43.                 return 1;
  44.         }
  45.         return 0;
  46.     }
  47.  
  48.     //5. Метод для удаления пустых пробелов после окончания строки.
  49.     static void trimRight(String s) {
  50.         int i = s.length()-1;
  51.         while (i >= 0 && Character.isWhitespace(s.charAt(i))) {
  52.             i--;
  53.         }
  54.         System.out.println(s.substring(0,i+1) + ";");
  55.     }
  56.  
  57.     //6. Метод для удаления пустых пробелов в начале строки.
  58.     static void leftTrim(String s) {
  59.         int i = 0;
  60.         while (i < s.length() && Character.isWhitespace(s.charAt(i))) {
  61.             i++;
  62.         }
  63.         System.out.println(s.substring(i));
  64.     }
  65.     //7. Метод для добавления дополнительных пробелов после окончания строки для дополнения длины до n.
  66.     static void padRight(String s, int length) {
  67.         int count = 0;
  68.         char[] temp = new char[length];
  69.         if (s.length() != length && s.length() < length) {
  70.             for (int i = 0; i < s.length(); i++) {
  71.                 temp[i] = s.toCharArray()[i];
  72.             }
  73.             for (int i = s.length(); i < temp.length; i++)
  74.                 temp[i] = '\u0020';
  75.             for (int i = 0; i < temp.length; i++) {
  76.                 System.out.print(temp[i]);
  77.             }
  78.         }
  79.         else System.out.print(s);
  80.         System.out.println(";");
  81.     }
  82.  
  83.     //8. Метод для добавления пробелов в начало строки.
  84.     static void padLeft(String s, int length) {
  85.         int index = 0;
  86.         char[] temp = s.toCharArray();
  87.         char[] arrToReturn = new char[length];
  88.         if (s.length() != length && s.length() < length) {
  89.             for (int i = length - s.length(); i < length; i++) {
  90.                 arrToReturn[i] = temp[index];
  91.                 index++;
  92.             }
  93.             for (int i = 0; i < length; i++) {
  94.                 if (arrToReturn[i] == '\u0000')
  95.                     arrToReturn[i] = '\u0020';
  96.             }
  97.         }
  98.         else System.out.println(s);
  99.         for (char c : arrToReturn)
  100.             System.out.print(c);
  101.         System.out.println(";");
  102.     }
  103.  
  104.     //9. Метод для выравнивания строки s по центру строки длины length.
  105.     static void center(String s, int length) {
  106.         int count = 0;
  107.         char[] arrToRetrn = new char[length];
  108.         char[] temp = s.toCharArray();
  109.         if (s.length() != length && s.length() < length) {
  110.             for (int i = (length - s.length()) / 2;
  111.                  i < s.length() + ((length - s.length()) / 2); i++) {
  112.                 arrToRetrn[i] = temp[count];
  113.                 count++;
  114.             }
  115.             for (int i = 0; i < length; i++) {
  116.                 if (arrToRetrn[i] == '\u0000')
  117.                     arrToRetrn[i] = '\u0020';
  118.             }
  119.         }
  120.         else System.out.println(s);
  121.         for (char c : arrToRetrn)
  122.             System.out.print(c);
  123.  
  124.     }
  125.  
  126.     //10. Метод для подсчета вхождений символа reference в строку s.
  127.     static int count(String s, char reference) {
  128.         int counter = 0;
  129.         for (char ch : s.toCharArray()) {
  130.             if (ch == reference)
  131.                 counter++;
  132.         }
  133.         return counter;
  134.     }
  135.  
  136.     //11. Метод для подсчета вхождений символов из строки ref в строку s;
  137.     static int count(String s, String ref) {
  138.         int counter = 0;
  139.         for (char chOut : ref.toCharArray()) {
  140.             for (char chIn : s.toCharArray()) {
  141.                 if (chOut == chIn)
  142.                     counter++;
  143.             }
  144.         }
  145.         return counter;
  146.     }
  147.  
  148.     //12. Метод для удаления символа reference из строки s.
  149.     static void deleteChar(String s, char reference) {
  150.         int count = 0;
  151.         char[] charArray = s.toCharArray();
  152.         char[] arrayToReturn = new char[s.length()];
  153.         for (int i = 0; i < charArray.length; i++) {
  154.             if (charArray[i] != reference) {
  155.                 arrayToReturn[count] = charArray[i];
  156.                 count++;
  157.             }
  158.         }
  159.         for (char c : arrayToReturn)
  160.             System.out.print(c);
  161.     }
  162. }
Advertisement
Add Comment
Please, Sign In to add comment