Loading...
neogost avatar neogost 0 Точки

Не мога да разбера къде ми е грешката

Не мога да разбера къде ми е грешката , написано е всичко както го показва лектора нопри мене твърдо и упорито неще да си вземе метода за да го изпълни

ето го и кода:

import java.util.Scanner;

public class P07_ChristmasTree {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int n = Integer.parseInt(scanner.nextLine());
        for (int row = 0; row < n + 1; row++) {
            String spaces = repeatStrr(strToRepeat " ", count n - row);
            String stars = repeatStrr(strToRepeat "*", row);
            
            String currentRow = spaces + stars + " | " + stars;
            System.out.println(currentRow);

        }
        
    }static String repeatStrr(String strToRepeat, int count) {
        String text = "";
        for (int i = 0; i < count; i++) {
            text += strToRepeat;
        }
        return text;
    }
}

това е , забих тотално :(

0
Programming Basics
Soprin avatar Soprin 105 Точки

https://pastebin.com/s24enYrd това е твоето оправено решение. Проблемът е, че като подаваш променливите на метода не трябва да ги декларираш.( смисъл само казваш n, а не count n и " " или "*", а не strToRepeat " "). Надявам се да си ме разбрал.

0
Ivelin_Dimitrov avatar Ivelin_Dimitrov 148 Точки

Здравей колега,

методът ти приема параметри strToRepeat и count

static String repeatStrr(String strToRepeat, int count) {
    }

Съответно когато викаш методът не трябва да подаваш имената на променливите (променливите във метода можеш да кръстиш както си пожелаеш, и тези имена са служебни и видими само за метода). 

String spaces = repeatStrr(strToRepeat " ", count n - row);
String stars = repeatStrr(strToRepeat "*", row);

Когато извикваш метода, той очаква да му подадеш (String, int) без да се интерисува как си ги кръстил във самият метод! Следователно ще извикваш метода така repeatStrr(" ", n - row) - " " e String, n - row е int.

Ти си ги видял във InteliJ на лекторът във светло сив цвят - Не защото той ги е написал, а защото InteliJ е умен и ти подсказва какво трябва да въведеш, подсказва ти какви променливи очаква методът който извикваш!

0
14/02/2018 12:33:26
S.Neshkov avatar S.Neshkov 55 Точки
Ето грешката
String spaces = repeatStrr(strToRepeat " ", count n - row);
            String stars = repeatStrr(strToRepeat "*", row);

 

Правилното е така:

String spaces = repeatStrr(" ", n - row);
String stars = repeatStrr("*", row);

Тези променливи са служебни и видими само за метода 

static String repeatStrr(String strToRepeat, int count) {
    
    }

 

 

0
14/02/2018 12:27:34
neogost avatar neogost 0 Точки

Балгодаря на всички колеги които ми отговорииха , Разбрах си грешката . За съжаление това объркване се получи защото лектора не предупреди че декларирането на променливите на метода неенеобходимо и че това при него са вижда зщото така му е настроена средата за програмиране. Освен това при мен така и не тръгна докато на зададох изрично типът на метода " private " , " publick " или " protected " ,само със " static"  при мен не работи средата за програмиране се дразни и ми вади предупреждения .

Смятам че въпроса е изчерпан ,още веднъж благодаря на всички.

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