fork download
  1. class TransposeText
  2. {
  3. public static void main(String[] args)
  4. {
  5. String input = "package main\n" +
  6. "\n" +
  7. "import \"fmt\"\n" +
  8. "\n" +
  9. "func main() {\n" +
  10. " queue := make(chan string, 2)\n" +
  11. " queue <- \"one\"\n" +
  12. " queue <- \"twoO\"\n" +
  13. " close(queue)\n" +
  14. " for elem := range queue {\n" +
  15. " fmt.Println(elem)\n" +
  16. " }\n" +
  17. "}";
  18.  
  19. System.out.println(transpose(input));
  20. }
  21.  
  22. private static String transpose(String str)
  23. {
  24. StringBuilder result = new StringBuilder();
  25. StringBuilder[] input = new StringBuilder[str.split("\n").length];
  26.  
  27. for(int i = 0; i < input.length; i++)
  28. input[i] = new StringBuilder(str.split("\n")[i]);
  29.  
  30.  
  31. // Setting all of the input strings to be the same length by adding spaces
  32. {
  33. int x = 0;
  34. for (StringBuilder cur: input)
  35. if (x < cur.length()) x = cur.length();
  36.  
  37. for(StringBuilder cur: input)
  38. while(cur.length() < x)
  39. cur.append(" ");
  40. }
  41.  
  42. for(int i = 0; i < input[0].length(); i++)
  43. {
  44. for (StringBuilder cur: input)
  45. if (cur.charAt(i) != '\n')
  46. result.append(cur.charAt(i));
  47. result.append('\n');
  48. }
  49.  
  50. return result.toString();
  51. }
  52. }
Success #stdin #stdout 0.04s 711168KB
stdin
Standard input is empty
stdout
p i f       }
a m u        
c p n        
k o c        
a r  qqqcf } 
g t muuulo   
e   aeeeor   
  " iuuus    
m f neeeeef  
a m (   (lm  
i t ):<<qet  
n "  =--um.  
    {   e P  
     m""u:r  
     aote=i  
     knw) n  
     eeo rt  
     ("O al  
     c " nn  
     h   g(  
     a   ee  
     n    l  
         qe  
     s   um  
     t   e)  
     r   u   
     i   e   
     n       
     g   {   
     ,       
             
     2       
     )