Помощ за задча
Може ли някой да ми обясни този ред:
if (i != (n - 1) /2 - 1) { System.out.print(strRepeated(" ", n)); } else { System.out.print(strRepeated("|", n ));
от решението на тази задача:
http://i.imgur.com/yFj5WW2.png
Решение:
import java.util.Scanner; /** * Created by WinOfficially on 11/14/2016. */ public class p08_Sunglasses { public static void main(String[] args) { Scanner console = new Scanner(System.in); int n = Integer.parseInt(console.nextLine()); System.out.println(strRepeated("*", 2 * n) + strRepeated(" ", n) + strRepeated("*", 2 * n)); for (int i = 0; i < n - 2; i++) { System.out.print("*" + strRepeated("/", (n * 2) - 2) + "*"); if (i != (n - 1) /2 - 1) { System.out.print(strRepeated(" ", n)); } else { System.out.print(strRepeated("|", n )); } System.out.print("*" + strRepeated("/", (n * 2) - 2) + "*"); System.out.println(""); } System.out.println(strRepeated("*", 2 * n) + strRepeated(" ", n) + strRepeated("*", 2 * n)); } static String strRepeated (String strToRepeat, int count){ StringBuilder sb = new StringBuilder(); for (int i = 0; i < count; i++) { sb.append(strToRepeat); } return sb.toString(); } }
Как подявалоте се намира средата?
Защо за да намерим средата трябва от n да извадя 1 после да го разделя на 2 и пак да извадя 1 от полученото число?
Дори и в лекция не обеснява защо това го празви.
Може ли някой някой да ми обясни, че гледам кода, но немога да схвана защо се прави това.
Thank you so much, how can I not love you!
Fast response and good explanation.