• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java pętla do while -

Object Storage Arubacloud
0 głosów
587 wizyt
pytanie zadane 18 lutego 2017 w Java przez Wolfy Nowicjusz (180 p.)

Cześć

Mam problem z zadaniem w którym potrzebuje zrobić bankomat,jestem na podpunkcie w którym muszę ustalić jakąś dostępną kwotę na koncie (przypuśćmy 1000 zł) i stworzyć coś,co będzie pozwalać wypłacać pieniądze dopóki nie będą mniejsze niż 10 zł (minimalna kwota do wypłaty jest równa właśnie 10 złotym)

import java.util.Scanner;

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

        do {
            System.out.println("How much money do you want to withdraw?");
            withdraw = scanner.nextInt();
            System.out.println("Current account ballance :" + " " + (money - withdraw));
        } while (money <=10);

 

Po uruchomieniu:

How much money do you want to withdraw?
600
Current account ballance : 400

Z tego co rozumiem należy użyć tutaj pętli,ponieważ (o ile dobrze myślę) program po każdorazowym uruchomieniu,miałby na nowo 1000 zł,co uniemożliwia dokładną kontrole stanu konta.

2 odpowiedzi

0 głosów
odpowiedź 18 lutego 2017 przez Mateusz51 Nałogowiec (28,180 p.)
Dopóki nie zastosujesz serializacji danych do pliku albo bazy danych. Stan konta za każdym razem gdy odpalisz program bedzie miał startowe 1000zł.

Do while pozwoli Ci na wypłate kilku krotną ale w ramach jednego włączenia programu. Tylko że brakuje Ci operacji przypisania czegos do money. Tzn gdy wykonuje się pętla money zawsze jest równe 1000 przez co pętla wykonuje Ci się cały czas.
komentarz 19 lutego 2017 przez Wolfy Nowicjusz (180 p.)
Sęk w tym,że jeszcze w kursie z którego się uczę nie było serializacji danych,więc musi być inne wyjście. Zaczynam dopiero programowanie obiektowe które na tą chwile mnie przerasta,i strasznie mnie demotywuje do dalszego działania,ale nie ważne .. :) Reasumując,czy jest możliwość zrobienia tego w inny sposób niżeli serializacją ? Podejrzewam że ten program ma być "jednorazowy" raz uruchomie kilka razy wypłacę pieniądze i to wszystko - jak już wspominałem,do tej pory nie miałem czegoś takiego jak serializacje danych czy też bazy danych. Moja nauka w tej chwili to przerabianie kolejnych filmików,i wykonywanie zadań,nie mam jako tako ułożonej drogi którą chcę dążyć. Zastanawiam się nad pójściem na staż w wakacje,ale nie bardzo wiem,co powinienem umieć.

Stąd się uczę https://www.youtube.com/watch?v=bPHr64sReSs&index=5&list=PLTs20Q-BTEMMJHb4GWFT34PAWxYyzndIY
1
komentarz 19 lutego 2017 przez Mateusz51 Nałogowiec (28,180 p.)
No jesli ma byc to jednorqzowy program to dziala dobrze z wyjtkiem tego co napisalem Ci w drugiej czesci komentarza Nie martw sie programowanie obiektowe Nie jest takie trudne wymyslono je po to aby ulatwic programowanie
komentarz 21 lutego 2017 przez Wolfy Nowicjusz (180 p.)
Okej dziękuję za pomoc. :)
0 głosów
odpowiedź 30 kwietnia 2019 przez Avodaya Obywatel (1,200 p.)
edycja 30 kwietnia 2019 przez Avodaya

Nie dziala Ci bo dałeś "dziubek" w złą stronę:

        } while (money <=10);

A to znaczy że pętla do while wykona się drugi i każdy kolejny raz gdy pieniędzy będzie mniej niż 10. A miało być więcej ;p

Nie ma co kombinować, postaram Ci się prosto wytłumaczyć co jest do zrobienia ;)

 

Ustaliłeś kwotę startową na koncie równą 1000.

Dobrze zainicjowana zmienna money przechowuje wartość 1000. (To zrobiłeś wzorowo).

Zrób sobie teraz pętle while z warunkiem takim jaki masz w treści zadania: money większe równe 10.

Warunek będzie spełniony odrazu po uruchomieniu programu, więc pętla wykona się, nie ma potrzeby używać do while (można ale nie trzeba, oszczędzamy na literkach kodu).

W bloku pętli while pobierasz od użytkownika withdraw.

Sprawdź czy money - withdraw >= 0 (nie wypłacamy na kredyt ;p).

Jeśli ok, zaktualizuj stan konta: money = money - withdraw;

Wyświetl stan konta i koniec ;)

Podobne pytania

0 głosów
2 odpowiedzi 614 wizyt
pytanie zadane 27 kwietnia 2022 w C i C++ przez Mati323 Nowicjusz (210 p.)
0 głosów
2 odpowiedzi 266 wizyt
pytanie zadane 17 kwietnia 2021 w C i C++ przez Viltus Początkujący (300 p.)
0 głosów
1 odpowiedź 128 wizyt
pytanie zadane 1 kwietnia 2020 w C i C++ przez Ola_00 Nowicjusz (210 p.)

92,565 zapytań

141,416 odpowiedzi

319,598 komentarzy

61,948 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...