Advertisement
desislava_topuzakova

Diamond

Feb 11th, 2018
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.78 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Problem10_Diamond1 {
  4.     public static void main(String[] agrs) {
  5.         Scanner scanner = new Scanner(System.in);
  6.        
  7.         int n = Integer.parseInt(scanner.nextLine());
  8.        
  9.         String firstAndLastRow = "";
  10.         String body = "";
  11.        
  12.         String middleRow = "*" + repeatStr("-", n - 2) + "*";
  13.        
  14.         if (n != 1 && n != 2) {
  15.             if (n % 2 == 0) {//четно
  16.                 firstAndLastRow = repeatStr("-", (n - 2) / 2)
  17.                         + "**"
  18.                         + repeatStr("-", (n - 2) / 2);
  19.                 System.out.println(firstAndLastRow);
  20.                 for (int i = 0; i < (n - 4) / 2; i++) {
  21.  
  22.                     body = repeatStr("-", (n - 4) / 2 - i)
  23.                             + "*"
  24.                             + repeatStr("-", 2 + i + i)
  25.                             + "*"
  26.                             + repeatStr("-", (n - 4) / 2 - i);
  27.                     System.out.println(body);
  28.                 }
  29.                 System.out.println(middleRow);
  30.  
  31.                 for (int i = 0; i < (n - 4) / 2; i++) {
  32.                     body = repeatStr("-", 1 + i) + "*" +
  33.                             repeatStr("-", n - 4 - i - i) + "*" +
  34.                             repeatStr("-", 1 + i);
  35.                     System.out.println(body);
  36.  
  37.                 }
  38.                 System.out.println(firstAndLastRow);
  39.                
  40.             } else {//нечетно
  41.  
  42.                 firstAndLastRow = repeatStr("-", (n - 1) / 2)
  43.                         + "*"
  44.                         + repeatStr("-", (n - 1) / 2);
  45.                 System.out.println(firstAndLastRow);
  46.                 for (int i = 0; i < (n - 3) / 2; i++) {
  47.  
  48.                     body = repeatStr("-", (n - 3) / 2 - i)
  49.                             + "*" + repeatStr("-", 1 + i + i) + "*"
  50.                             + repeatStr("-", (n - 3) / 2 - i);
  51.                     System.out.println(body);
  52.  
  53.                 }
  54.                 System.out.println(middleRow);
  55.  
  56.                 for (int i = 0; i < (n - 3) / 2; i++) {
  57.                     body = repeatStr("-", 1 + i) + "*" +
  58.                             repeatStr("-", n - 4 - i - i) + "*" +
  59.                             repeatStr("-", 1 + i);
  60.                     System.out.println(body);
  61.                 }
  62.                 System.out.println(firstAndLastRow);
  63.  
  64.             }
  65.         } else if (n == 1) {
  66.             System.out.println("*");
  67.         } else if (n == 2) {
  68.             System.out.println("**");
  69.         }
  70.     }
  71.  
  72.     static String repeatStr(String str, int count) {
  73.         String text = "";
  74.         {
  75.             for (int j = 0; j < count; j++) {
  76.                 text = text + str;
  77.             }
  78.  
  79.         }
  80.         return text;
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement