Gyakorlati alapok
Bekért számok összege
Ebben a fejezetben folyamatosan bekért számok egyszeri összegét számoljuk és írjuk ki a világ legnagyobb örömére. A bekérés mechanizmusát és alapvető implementációját már ismerjük, bár itt egy kissé módosítanunk kell a feltételt, hiszen a felhasználó folyamatosan bemeneti adatokat gépel be és ezt valahogy meg is kell szakítani, amikor kéri a begépelt számok összegét. Ezt a legegyszerűbb módon úgy tudjuk megtenni, hogy ha 0 lesz a bekért szám, akkor történik meg az összeg kiírása. Természetesen erről már kezdettől fogva tájékoztatjuk:
System.out.print("Adjon meg egy számot vagy kérje az összeget 0-val!\n");
Az algoritmus kulcseleme, hogy a bekért szám (int szam) folyamatosan hozzáadódik az összeghez (int osszeg): osszeg += szam. Ez a művelet ugyanazt jelenti, mint ez a "klasszikus" megoldás: osszeg = osszeg + szam.
A 0 már csak megszakítja a hátultesztelő ciklust és kiíratja az összeget a konzolra:
System.out. println("Az összeg: " + osszeg);
A 0 számot a hátultesztelő ciklus feltétele ellenőrzi (while (szam != 0)).
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int szam = 0;
int osszeg = 0;
do {
System.out.print("Adjon meg egy számot vagy kérje az összeget 0-val!\n");
String
szamString = in.nextLine();
szam =
Integer.parseInt(szamString);
osszeg +=
szam;
} while (szam != 0);
System.out. println("Az összeg: " + osszeg);
}
}
Végeredmény (például):
Adjon meg egy számot vagy kérje az összeget 0-val!
4
Adjon meg egy számot vagy kérje az összeget 0-val!
5
Adjon meg egy számot vagy kérje az összeget 0-val!
6
Adjon meg egy számot vagy kérje az összeget 0-val!
0
Az összeg: 15
Láthatjuk azonban, hogy az algoritmus sok egyéb feltételt még nem ellenőriz le, többek közt rossz karakterek begépelése, negatív számok, stb. Ennek lekezelése már magasabb szintű programozási feladat.