Loading...
k.ivanov avatar k.ivanov 1 Точки

Задача: триъгълник от 55 звездички с Java

4.Триъгълник от 55 звездички

Напишете Java конзолна програма, която отпечатва триъгълник от 55 звездички, разположени на 10 реда

  1. Въпросът ми е свързан с четвъртото условие на задачата. Искам да разбера как мога да създам програмата с for цикъл. Търсих информация за for цикъла в книгата на Наков и в API документацията, но не открих нищо за това как да го използвам със символи, в случая "*". Може ли някой да ми помогне? Създайте ново конзолно Java приложение с име “TriangleOf55Stars”.
  2. Напишете код, който печата триъгълника от звездички, например чрез 10 команди, подобни на System.out.println("*").
  3. Тествайте кода си в judge системата: https://judge.softuni.bg/Contests/Practice/Index/150#3.
  4. Опитайте да подобрите решението си, така че да няма много повтарящи се команди. Може ли това да стане с for цикъл?

Благодаря предварително :)

Тагове:
0
Programming Basics 19/09/2016 17:07:42
lengarski avatar lengarski 42 Точки
Best Answer

Примерно с това ?

 

public class TriangleOf55Stars
{
  
  public static void main(String[] args)
  {
    for(int i=0;i<10;i++){
      
      for(int j=0;j<i+1;j++){
         System.out.print("*" );
      }
      System.out.println();
    }
  }
}

или така 

 

  public static void main(String[] args)
  {
    for(int i=1;i<=10;i++){
      printStar(i);
    }
  }
  
  
  public static void printStar(int size){
    for(int i=0;i<size;i++){
      System.out.print("*");
    }
    System.out.println();
    
  }

 

 

 

 

0
19/09/2016 17:04:28
k.ivanov avatar k.ivanov 1 Точки

Страхотно! Не се бях сещал за вложен цикъл(мисля, че така се казваше първия вариант),а за такива възможности като printStar в класа или в метода изобщо и не подозирах. Много благодаря за идеите! 

0
kaloyannikov avatar kaloyannikov 531 Точки

или с 1 цикъл 

 for (int i = 1; i <= 10; i++) {
            System.out.println(new String(new char[i]).replaceAll("\0","*"));
 }

 

0
vancho avatar vancho 430 Точки

Разбира се, че става с for цикъл, иначе незнам как си го представяш! Само, че в java няма като в c# new string('*', 55);. За целта си направи един метод, който да ти принтира броя желани символи.

-1
lengarski avatar lengarski 42 Точки

и в Java има подобни мързеливи подходи .. е не чак толкова лесно но може да се направи 

char[] chars = new char[55];
Arrays.fill(chars, '*');
String text = new String(chars);
System.out.println(text);

Само че не разбирам защо трябва да се направи стринг с 55 звездички :? 

 

 

0
kaloyannikov avatar kaloyannikov 531 Точки

напротив ето : new String(new char[55]).replaceAll("\0","*")

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.