Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class _3_Disk {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Scanner scan = new Scanner(System.in);
- int size = scan.nextInt();
- int radius = scan.nextInt();
- int outerDotsMinWidth = (size / 2) - radius;
- int squareRadius = radius * radius;
- String outerDotSeq;
- String asteriskSeq;
- int x, y;
- for (int row = 0; row < size; row++) {
- if (row < outerDotsMinWidth || row > (size - 1) - outerDotsMinWidth) {
- System.out.println(newString('.', size));
- } else if (row == (size / 2)) {
- asteriskSeq = newString('*', (2 * radius) + 1);
- outerDotSeq = newString('.', outerDotsMinWidth);
- System.out.printf("%1$s%2$s%1$s\n", outerDotSeq, asteriskSeq);
- } else if (row == outerDotsMinWidth
- || row == (size - 1) - outerDotsMinWidth) {
- System.out.printf("%1$s*%1$s\n", newString('.', size / 2));
- } else if ((row > outerDotsMinWidth && row < (size / 2))
- || (row > (size / 2) && row < (size - 1)
- - outerDotsMinWidth)) {
- y = (size / 2) - row;
- x = (int) Math.sqrt(squareRadius - (y * y));
- asteriskSeq = newString('*', (2 * x) + 1);
- outerDotSeq = newString('.', (size - (2 * x) - 1) / 2);
- System.out.printf("%1$s%2$s%1$s\n", outerDotSeq, asteriskSeq);
- }
- }
- }
- private static String newString(char ch, int size) {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < size; i++) {
- sb.append(ch);
- }
- return sb.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement