Софтуерно Инженерство
Loading...
+ Нов въпрос
RadostinD avatar RadostinD 14 Точки

04. Walking - While-Loop

Здравейте,

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

Условието на задачата е:

4. Стъпки

Габи иска да започне здравословен начин на живот и си е поставила за цел да върви 10 000 стъпки всеки ден. Някои дни обаче е много уморена от работа и ще иска да се прибере преди да постигне целта си. Напишете програма, която чете от конзолата по колко стъпки изминава тя всеки път като излиза през деня и когато постигне целта си да се изписва "Goal reached! Good job!

Ако иска да се прибере преди това, тя ще въведе командата "Going home" и ще въведе стъпките, които е извървяла докато се прибира. След което, ако не е успяла да постигне целта си, на конзолата трябва да се изпише: "{разликата между стъпките} more steps to reach goal."

Примерен вход и изход

Вход

Изход

Вход

Изход

1000

1500

2000

6500

 

Goal reached! Good job!

1500

300

2500

3000

Going home

200

2500 more steps to reach goal.

 

Първо се опитах по този начин, но прочиташе само първия ред и само го записваше. https://pastebin.com/BURA2nf3

Потърсих отговори от други колеги и сглобих този код, но пак без успех. https://pastebin.com/6qLqSSGQ

Изкарва ми грешка при парсването от String към int, но не мога да разбера къде точно греша.

Благодаря за съдействието!

Тагове:
0
Programming Basics with Java
thedescent avatar thedescent 11 Точки
Best Answer

Приятел пробвай така:

Малко е на прима виста, ако го пипнеш още малко ще стане супер.

import java.util.Scanner;
public class countSteps {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int goalSteps = 10000;
        int countallSteps = 0;
        String command = scan.nextLine();

        while (!command.equals("Going home")){
            int countSteps = Integer.parseInt(command);
            goalSteps -= countSteps;
            countallSteps += countSteps;
            if (countallSteps >= 10000){
                System.out.printf("Goal reached! Good job!");
                break;
            }
            command = scan.nextLine();
        }
        if (command.equals("Going home")){
            int stepsToHome = Integer.parseInt(scan.nextLine());
            goalSteps -= stepsToHome;
                System.out.printf("%d more steps to reach goal.",goalSteps);
            }
        }
    }



0
RadostinD avatar RadostinD 14 Точки

Здравей,

Пипнах го и стана супер! https://pastebin.com/2ufEUHrr

Много ти благодаря за съдействието!

 

1
thedescent avatar thedescent 11 Точки

Радвам се, че съм помогнал 

0