Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- /**
- * Created by Losh17 on 28.8.2017 г..
- */
- public class DiamondStringReverseOprimize {
- public static void main(String[] args) {
- Scanner console = new Scanner(System.in);
- int n = Integer.parseInt(console.nextLine());
- int oddEven = 0;
- List<String> arr = new ArrayList<>();
- String temp = "";
- //if even loops -1
- if (n % 2 == 0){ oddEven = 1;}
- //fits part diamond
- for (int i = 0; i < n / 2 - oddEven + 1; i++) {
- //left side dashes
- temp = repeatStr("-", (n - 1) / 2 - i);
- //if odd or even first line stars
- if (n % 2 != 0 && i == 0) {
- temp += "";
- } else {
- temp += "*";
- }
- //if od or even mid dashes
- if (n % 2 == 0) {
- temp +=repeatStr("-", i * 2); //mid even
- } else {
- temp += repeatStr("-", i * 2 - 1); //mid odd
- }
- //right side
- temp += "*";
- temp +=repeatStr("-", (n - 1) / 2 - i);
- arr.add(temp);
- }
- //print first part
- for (int i = 0; i < arr.size(); i++) {
- System.out.println(arr.get(i));
- }
- //print firs part as second in reverse way
- for (int j = arr.size() - 2; j >= 0; j--) {
- System.out.println(arr.get(j));
- }
- }
- private static String repeatStr(String s, int count) {
- StringBuilder sb = new StringBuilder();
- for (int j = 0; j < count; j++) {
- sb.append(s);
- }
- //sb.append("*");
- return sb.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement