Advertisement
dimipan80

C#Exams 3. Disk (on Java Code)

Aug 25th, 2014
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.48 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class _3_Disk {
  4.  
  5.     public static void main(String[] args) {
  6.         // TODO Auto-generated method stub
  7.         Scanner scan = new Scanner(System.in);
  8.         int size = scan.nextInt();
  9.         int radius = scan.nextInt();
  10.  
  11.         int outerDotsMinWidth = (size / 2) - radius;
  12.         int squareRadius = radius * radius;
  13.         String outerDotSeq;
  14.         String asteriskSeq;
  15.         int x, y;
  16.         for (int row = 0; row < size; row++) {
  17.             if (row < outerDotsMinWidth || row > (size - 1) - outerDotsMinWidth) {
  18.                 System.out.println(newString('.', size));
  19.             } else if (row == (size / 2)) {
  20.                 asteriskSeq = newString('*', (2 * radius) + 1);
  21.                 outerDotSeq = newString('.', outerDotsMinWidth);
  22.                 System.out.printf("%1$s%2$s%1$s\n", outerDotSeq, asteriskSeq);
  23.             } else if (row == outerDotsMinWidth
  24.                     || row == (size - 1) - outerDotsMinWidth) {
  25.                 System.out.printf("%1$s*%1$s\n", newString('.', size / 2));
  26.             } else if ((row > outerDotsMinWidth && row < (size / 2))
  27.                     || (row > (size / 2) && row < (size - 1)
  28.                             - outerDotsMinWidth)) {
  29.                 y = (size / 2) - row;
  30.                 x = (int) Math.sqrt(squareRadius - (y * y));
  31.                 asteriskSeq = newString('*', (2 * x) + 1);
  32.                 outerDotSeq = newString('.', (size - (2 * x) - 1) / 2);
  33.                 System.out.printf("%1$s%2$s%1$s\n", outerDotSeq, asteriskSeq);
  34.             }
  35.         }
  36.     }
  37.  
  38.     private static String newString(char ch, int size) {
  39.         StringBuilder sb = new StringBuilder();
  40.         for (int i = 0; i < size; i++) {
  41.             sb.append(ch);
  42.         }
  43.  
  44.         return sb.toString();
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement