Метод рисования фигуры из "*"

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		System.out.println("Задайте пожалуйста параметры объекта.");
		Scanner sc = new Scanner(System.in);

		System.out.println("Высота.");
		int v;
		while (!sc.hasNextInt() || (v = sc.nextInt()) < 1) {
			System.out.println("Это не целое положительное число больше одного.");
			sc.next();
		}

		System.out.println("Ширина.");
		int h;
		while (!sc.hasNextInt() || (h = sc.nextInt()) < 1) {
			System.out.println("Это не целое положительное число больше одного.");
			sc.next();
		}

		odjekt(1, v, h);
	}

	public static void odjekt(int i, int v, int h) {
		if (i > v) {
			return;
		}
		odjekts(i, v, h, 2, "*");
		odjekt(i + 1, v, h);
	}

	public static void odjekts(int i, int v, int h, int k, String odjek) {
		if (k > h) {
			System.out.println(odjek);
			return;
		}
		if (i == 1 || i == v || k == h) {
			odjek = odjek + "*";
		} else {
			odjek = odjek + " ";
		}
		odjekts(i, v, h, k + 1, odjek);
	}
}

Ну и зачем в столь примитивной задаче рекурсия??

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		System.out.println("Задайте пожалуйста параметры объекта.");
		Scanner sc = new Scanner(System.in);

		System.out.println("Высота.");
		int v;
		while (!sc.hasNextInt() || (v = sc.nextInt()) < 1) {
			System.out.println("Это не целое положительное число больше одного.");
			sc.next();
		}

		System.out.println("Ширина.");
		int h;
		while (!sc.hasNextInt() || (h = sc.nextInt()) < 1) {
			System.out.println("Это не целое положительное число больше одного.");
			sc.next();
		}

		odjekts(1, v, h, 2, "*");
	}

	public static void odjekts(int i, int v, int h, int k, String odjek) {
		if (i <= v) {
			if (k <= h) {
				if (i == 1 || i == v || k == h) {
					odjek = odjek + "*";
				} else {
					odjek = odjek + " ";
				}
				odjekts(i, v, h, k + 1, odjek);
			} else {
				System.out.println(odjek);
				odjekts(i + 1, v, h, 2, "*");
			}
		} else {
			return;
		}
	}
}

Переделал алгоритм.

Да я имел в виду почему не циклами ??? Ну там же просто два цикла и один условный оператор.

Внёс коррективы.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		String odjek;
		int v;
		int h;

		System.out.println("Задайте пожалуйста параметры объекта.");
		Scanner sc = new Scanner(System.in);

		System.out.println("Высота.");
		while (!sc.hasNextInt() || (v = sc.nextInt()) < 1) {
			System.out.println("Это не целое положительное число больше одного.");
			sc.next();
		}

		System.out.println("Ширина.");
		while (!sc.hasNextInt() || (h = sc.nextInt()) < 1) {
			System.out.println("Это не целое положительное число больше одного.");
			sc.next();
		}

		for (int i = 1; i <= v; i++) {
			odjek = "*";
			for (int j = 2; j <= h; j++) {
				odjek = odjekts(i, v, h, j, odjek);
			}
			System.out.println(odjek);
		}
	}

	public static String odjekts(int i, int v, int h, int k, String odjek) {
		if (i == 1 || i == v || k == h) {
			odjek = odjek + "*";
		} else {
			odjek = odjek + " ";
		}
		return odjek;
	}
}

Как я и говорил можно и так.