Нарисовать фигуру с помощью только одного цикла

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		System.out.println("Задайте пожалуйста высоту фигуры.");
		Scanner sc = new Scanner(System.in);
		int v = sc.nextInt();

		String[] odjekt = new String[v * 2 - 1];

		if (v < 2) {
			System.out.println("Не верно задана высота фигуры.");
		} else {
			for (int i = 1; i < v * 2; i++) {
				if (i <= v) {
					if (i == 1) {
						odjekt[i] = "*";
					} else {
						odjekt[i] = odjekt[i - 1] + "*";
					}
					System.out.println(odjekt[i]);
				} else {
					System.out.println(odjekt[v*2-i]);
				}
			}
		}
	}
}

Решение хоть и верно, но не рационально. Зачем тут этот массив вообще нужен? Это задание решается одним циклом и одним условным оператором.

Исправил код.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		System.out.println("Задайте пожалуйста высоту фигуры.");
		Scanner sc = new Scanner(System.in);
		int v = sc.nextInt();
		String odjekt = "";

		if (v < 2) {
			System.out.println("Не верно задана высота фигуры.");
		} else {
			for (int i = 1; i < v * 2; i++) {
				if (i <= v) {
					if (i == 1) {
						odjekt = "*";
					} else {
						odjekt = odjekt + "*";
					}
					System.out.println(odjekt);
				} else {
					System.out.println(odjekt.substring(0,(v*2-i)));
				}
			}
		}
	}
}

Предложенное вами решение верно