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

05. Account Balance While loop lab

Здравейте, моля за помощ:

Какво да добавя, така че когато входът не е число, а текст "NoMoreMoney", програмата да приключи и да отпечата "Total:...". 

Прилагам условието на задачата:

Напишете програма, която пресмята колко общо пари има в сметката, след като направите определен брой вноски. На всеки ред ще получавате сумата, която трябва да внесете в сметката, до получаване на команда  "NoMoreMoney ". При всяка получена сума на конзолата трябва да се извежда "Increase: " + сумата и тя да се прибавя в сметката. Ако получите число по-малко от 0 на конзолата трябва да се изведе "Invalid operation!"  и програмата да приключи. Когато програмата приключи трябва да се принтира "Total: " + общата сума в сметката форматирана до втория знак след десетичната запетая.

import java.util.Scanner;

public class AccountBalance {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double sum = Double.parseDouble(scanner.nextLine());
        double total = 0;


        while (true) {
            if (sum < 0) {
                System.out.println("Invalid operation!");
                break;
            } else {
                System.out.printf("Increase: %.2f%n", sum);
            }
            total += sum;
            sum = Double.parseDouble(scanner.nextLine());
        }
        System.out.printf("Total: %.2f", total);
    }
}

 

Тагове:
0
Programming Basics with Java 01/03/2022 18:29:40
y.radev avatar y.radev 6 Точки

Здравей,

Според решението ти в момента, твоята програма е безкрайна, докато не получи за вход число по-малко от 0 или не върне някоя грешка, както връща грешка че си въвел String, а очаква int.

За да промениш това, трябва да зададеш на програмата да проверява въведен стринг, дали отговаря на дадено условие, който вътре във while да се преобразува във double, ако разбира се е спазено даденото условие.
 

https://pastebin.com/q16dbWx9 -> решение на задачата

Успех!

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