Loading...
chrisi2712 avatar chrisi2712 272 Точки

Здравейте, на ред 10 задавате всички стъпки да се подава от конзолата (int totalSteps = 0;), а всъщност трябва да са равни на 0. С тази поправка дава 100 от 100.

package Exercise1002;
 
import java.util.Scanner;
 
public class Exercise1002 {
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
 
        int totalSteps = 0;
 
        while (totalSteps < 10000) {
            String input = scanner.nextLine();
 
            if ( input.equals("Going home")){
                int bonusSteps = Integer.parseInt(scanner.nextLine());
                totalSteps += bonusSteps;
                break;
            }
 
            int steps = Integer.parseInt(input);
            totalSteps += steps;
        }
        if (totalSteps >= 10000){
            System.out.println("Goal reached! Good job!");
        }else{
            System.out.printf("%d more steps to reach goal.",10000 - totalSteps);
        }
    }
}

0
iliyantenev avatar iliyantenev 4 Точки

Мерси! Глупаво от моя страна!

0
Tspetrova avatar Tspetrova 125 Точки

Трбява да прекъснеш цикъла и когато стъпките са по-големи или равни на 10 000. Ето моето решение на Java :-) Успех

https://pastebin.com/ux4mKDdK

0
iliyantenev avatar iliyantenev 4 Точки

Мерси и за твоята помощ!

0
e_panova avatar e_panova 51 Точки

Здравей,

В началото (преди цикъла) totalSteps трябва да е равно на 0. После в цикъла получаваш стъпките и увеличаваш стойността на totalSteps.

Кодът ти само с тази промяна (totalSteps =0) дава 100 точки:

https://pastebin.com/u8pavHPc

 

0
iliyantenev avatar iliyantenev 4 Точки

Мерси!

1
damesova avatar damesova 203 Точки

Първоначално общо стъпките ти са = 0.

А ти започваш с парсване към инт на входа, който може да е команда, а не стъпки и да не може да се парсне. Какво правиш тогава? Помисли в тази посока. 

Вярвам, че хинта който ти давам е достатъчен. Успех!

 

 

0
iliyantenev avatar iliyantenev 4 Точки

Определено ми е трудно. Но мисля, че бавно започвам да разбирам.

Мерси за хинта!

0
damesova avatar damesova 203 Точки

Ами като някаква основа е важно да знаеш поне за блоковете код, които пишеш. Един блок може да бъде цикъл, или иф проверка. Между къдравите скоби се осъществява някаква логика, наречи го пресмятане или намиране на частично и пълно решение на даден проблем. Именно между тези {......} къдрави скоби залагаш и своите променливи, с които ще си извършиш операциите. Има област на видимост на тези променливи и това е важно, защото трябва да можеш да ги използваш. Ако искаш да използваш променлива в даден блок (от къдрави скоби :)))   ),  тя трябва да е зададена не по-навътре от този блок. В този смисъл е важно къде и с каква стойност си декларираш променливите, защото те ще биха могли да се зануляват в определен момент, но и биха променяли стойността си според заложената ти логика вътре.

В твоя случай: ПРеди while -а трябва да заложиш сумата на стъпките ти да е 0. Към нея ще добавяш при определени условия вътре в цикъла.

 

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

int totalSteps = Integer.parseInt(scanner.nextLine());

Сигурно ли е, че това, което прочетем от конзолата(входа) е число и може да се парсне?

Ако прочетем думичка, как ще я парсне?


П.С. Не се тревожи, всички сме и минаваме през такива неща.. Ще се справиш... Ако не - ще ти пуснем едно решение, но се помъчи..

 

0
iliyantenev avatar iliyantenev 4 Точки

Колегите вече пуснаха решения. Но колкото и да е странно обяснението ти малко ми помага. Нищо че е в стил Windows за идиоти.

Е, ако не се справя, значи няма да се справя и толкова.

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