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

Problem przy pętli do while

Object Storage Arubacloud
0 głosów
1,025 wizyt
pytanie zadane 3 maja 2017 w Java przez fiszu258 Początkujący (440 p.)
Cześć, mam problem przy ostatniej pętli do while, jakby ktoś mógł zlokalizować błąd byłbym wdzięczny, w pętli while wychodzi 60 ( w przypadku cyfr 4 i 11) w for tak samo a w do...while wychodzi 12. Z góry dzięki.

import java.util.Scanner;

/**
 * Created by Dominik on 03.05.2017.
 */

//2. Napisać program pobierający od użytkownika dwie liczby całkowite A oraz B,
//A < B, a następnie wyznaczający sumę ciągu liczb od A do B, czyli sumę ciągu
//(A, A + 1, . . . , B). Obliczenia należy wykonać trzykrotnie stosując kolejno pętle:
//while, do-while, for.
//Przykład:
//Dla A = 4 i B = 11 program powinien wyświetlić:
//60
//60
//60

public class Zadanie_2 {
    public static void main (String[] args) {
        Scanner s = new Scanner(System.in);
        int suma = 0;
        System.out.print("Podaj liczbe: ");
        int a = s.nextInt();
        System.out.print("Podaj drugą liczbę: ");
        int b = s.nextInt();
        for (int c=a;c<=b;c++){
            suma = suma + c;
        }
        System.out.println(suma);
        suma = 0;
        while (a<=b){
            suma = suma+a;
            a++;
        }
        System.out.println(suma);
        suma = 0;
        do {
            suma = suma + a;
            a++;
        }
        while(suma<=b);
        System.out.println(suma);
        }
    }

 

3 odpowiedzi

0 głosów
odpowiedź 3 maja 2017 przez Stami Gaduła (3,790 p.)

W pętli do while do sumy dodajesz "a", a sprawdzasz warunek b.

Jeśli dobrze rozumiem to to powinno wyglądać tak:
 

do {
      suma = suma + a;
      a++;
}
while(suma <= a)

 

komentarz 3 maja 2017 przez fiszu258 Początkujący (440 p.)
niestety nie, jakoby nie był ten warunek to i tak nie wychodzi :/
0 głosów
odpowiedź 4 maja 2017 przez jegor377 Stary wyjadacz (13,230 p.)

powinno być w trzeciej pętli:

do {
    suma = suma + a;
    a++;
} while(suma<b);

 

0 głosów
odpowiedź 4 maja 2017 przez Włóczykij Użytkownik (750 p.)

A nie powinno być:

do {
        suma = suma + a;
        a++;
}
while(a <= b)

 

Podobne pytania

0 głosów
1 odpowiedź 468 wizyt
0 głosów
1 odpowiedź 153 wizyt
pytanie zadane 20 marca 2016 w Java przez jocom Początkujący (390 p.)
0 głosów
1 odpowiedź 110 wizyt
pytanie zadane 20 października 2018 w C i C++ przez periedynek Obywatel (1,320 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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!

...