Anonymní profil Dano – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Dano – Programujte.comAnonymní profil Dano – Programujte.com

 

Příspěvky odeslané z IP adresy 78.98.67.–

Dano
Java › Cykly s promennymi
9. 12. 2012   #168439

#7 Petrr
Blizia sa Vianoce ;) Tak nech to mas za full

package com.programujte.utvar;

import java.util.Scanner;

public class Pyramida {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Zadaj pocet urovni (kladne cele cislo):");
        try {
            int pocetUrovni = scanner.nextInt();
            if (pocetUrovni > 0) {
                // horna cast
                for (int i = 0; i < pocetUrovni; i++) {
                    System.out.println(getRiadok(pocetUrovni, i));
                }

                // stred
                System.out.println(getStred(pocetUrovni));

                // spodna cast
                for (int i = pocetUrovni - 1; i > -1; i--) {
                    System.out.println(getRiadok(pocetUrovni, i));
                }
            } else {
                System.out.println("Pocet urovni musi byt vacsi ako 0");
            }
            // stred
        } catch (Exception e) {
            System.err.println("Nespravny pocet urovni");
        }
    }

    /**
     * Vrati riadok z piramidy, okrem stredu
     * 
     * @param pocetUrovni   pocet urovni pyramidy
     * @param poradieRiadku poradie aktualne vykreslovaneho riadku
     * @return              vykresleny riadok
     */
    private static String getRiadok(int pocetUrovni, int poradieRiadku) {
        StringBuilder riadok = new StringBuilder();
        for (int j = 0; j < pocetUrovni; j++) {
            riadok.append("0");
            String medzera = "000";
            if (poradieRiadku > 0) {
                if (j < poradieRiadku) {
                    medzera = "   ";
                }
            }
            if (j < pocetUrovni - 1) {
                riadok.append(medzera);
            }
        }

        return riadok.toString()
                + "000"
                + riadok.reverse().toString();
    }

    /**
     * Stredny riadok pzramidy
     * 
     * @param pocetUrovni   pocet urovni pyramidy
     * @return              vykresleny riadok
     */
    private static String getStred(int pocetUrovni) {
        StringBuilder stred = new StringBuilder();
        for (int i = 0; i < pocetUrovni; i++) {
            stred.append("0");
            if (i < pocetUrovni - 1) {
                stred.append("   ");
            }
        }

        return stred.toString()
                + "   "
                + stred.reverse().toString();
    }
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý