Wątek przeniesiony 2018-04-24 15:37 z Off-Topic przez somekind.

Odwracanie Stringa i liczby

0

Załóżmy, że na rozmowie mam odwrócić zadany napis i liczbę i nie został określony sposób.
Wiadomo, że w stresie łatwo się pomylić, więc zastanawiam się czy takie moje rozwiązanie by przeszło:

public class Test {
   public static void main(String[] args) {

      String text = "Taki sobie nijaki string";
      System.out.println(text);

      String text1 = new StringBuilder().append(text).reverse().toString();
      System.out.println(text1);

      int number = 256888234;
      System.out.println(number);

      int number2 = Integer.parseInt(new StringBuilder().append(Integer.toString(number)).reverse().toString());
      System.out.println(number2);
  }
}
1

W zadaniu zapewne chodziło o zaprezentowanie umiejętności posługiwania się prymitywnymi typami danych, tablicami, pętlami itd. Takie zadania mają również za zadanie odsiać copy-paste programistów, którzy bez stackoverflow bezradnie rozłożą rączki, więc reverse() lepsze niż nic.

1

nie lepiej:

String text1 = new StringBuilder(text).reverse().toString()

?

0

A np posortowanie String wg wartości poszczególnych znaków:

import java.util.Arrays;

public class Test {
   public static void main(String[] args) {

      String stringIn = "sdwefdssf dsSFDSFEWRfioiwe hsd fhiouQWEQWE dsf787987 dsfjdsjf";
      System.out.println(stringIn);
      char[] chars = stringIn.toCharArray();
      Arrays.sort(chars);
      String stringOut = Arrays.toString(chars);
      System.out.println(stringOut);
   }
}
0
Haskell napisał(a):

W zadaniu zapewne chodziło o zaprezentowanie umiejętności posługiwania się prymitywnymi typami danych, tablicami, pętlami itd. Takie zadania mają również za zadanie odsiać copy-paste programistów, którzy bez stackoverflow bezradnie rozłożą rączki, więc reverse() lepsze niż nic.

Zaimplementowałem sam, pewnie sam smutek jak zobaczysz ale działa (nie do końca bo zwraca tablicę a nie "normalny" String ). Muszę pokombinować jak to przerobić na zwykły String, bo mógłbym to wykorzystać przy sprawdzaniu palindromów...

import java.util.Arrays;

public class Test {
   public static void main(String[] args) {

      String text = "To jest moje wielkie dzieło, więc proszę się nie zalewać płaczem.";
      System.out.println(text);

      char[] textChars = text.toCharArray();

      if (textChars.length % 2 == 0) {
         for (int i = 0, j = textChars.length - 1; i <= textChars.length / 2; i++, j--) {
            char x = textChars[i];
            textChars[i] = textChars[j];
            textChars[j] = x;
         }
         String textOut = Arrays.toString(textChars);
         System.out.println(textOut);
      } else if (textChars.length % 2 == 1) {
         for (int i = 0, j = textChars.length - 1; i < textChars.length / 2; i++, j--) {
            char x = textChars[i];
            textChars[i] = textChars[j];
            textChars[j] = x;
         }
         String textOut = Arrays.toString(textChars);
         System.out.println(textOut);
      }
   }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1