Gyakorlati alapok
Százalékszámítás egyszerű adatbekéréssel
A százalékszámítás az egyik leggyakrabban alkalmazott pénzügyi művelet, de jól modellezi az élet sok más folyamatát is.
Általában mennyiségek vagy számokkal megfogalmazható minőségek változásának leírására használatos. Kiindulópontja egy adott mennyiség, amelyet 100 százaléknak kiáltunk ki (jelölése ekkor 100%) és ez változik meg a százalék mértékében, amely voltaképpen a 100 százalék valamilyen mértékű aránya.
Például 100 egység 25%-os gyarapodása 125 egységet fog eredményezni, 25%-os csökkenése pedig 75 egységet. Gyakran nem is a változás, hanem az arány mértéke a fontos, például:
-
100 egység 25%-a 25 (1/4 arány),
-
200 egység 25%-a 50 (1/4 arány).
Az alábbi futtatható Java-kód kiszámolja az összes, a százalékszámítás során előforduló számítási lehetőséget:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Kérem, hogy adja meg a 100%-ot!");
String a = in.nextLine();
double szazSzazalek = Double.parseDouble(a);
System.out.println("Kérem, hogy adja meg az arányt!");
String b = in.nextLine();
double szazalek = Double.parseDouble(b);
double eredmeny = 0;
double egySzazalek = szazSzazalek / 100;
eredmeny = egySzazalek * szazalek;
System.out.println("A bevitt szám (" + szazSzazalek + ")
1%-a: " + egySzazalek);
System.out.println("A bevitt szám " + szazalek + "%-a: " +
eredmeny);
System.out.println("A bevitt szám növekedése a százalék
arányában: "
+ (szazSzazalek + eredmeny));
System.out.println("A bevitt szám csökkenése a százalék
arányában: "
+ (szazSzazalek - eredmeny));
}
}
Végeredmény:
Kérem, hogy adja meg a 100%-ot!
200
Kérem, hogy adja meg az arányt (%)!
50
A bevitt szám (200.0) 1%-a: 2.0
A bevitt szám 50.0%-a: 100.0
A bevitt szám növekedése a százalék arányában: 300.0
A bevitt szám csökkenése a százalék arányában: 100.0
Érdekes számviteli trükk a százalékarány tizedes meg a többiek törtekkel való kiszámolása. Ekkor az arányt szintén elosztjuk 100-zal, például:
-
100 egység 15%-a = 100 * (15 /100, azaz 0.15) = 15
A fenti kódot tehát ilyen módon fogjuk módosítani, illetve egy kissé optimalizáljuk is, amely a felesleges és redundáns kódtartalom kiemelését, illetve egyszerűsítését eredményezi:
-
az eredmeny változót műveleteivel együtt eltávolítjuk,
-
minden számítást a System.out.println() függvény paramétermezőjébe pakolunk bele és amely függvényt csak egyszer fogunk meghívni:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Kérem, hogy adja meg a 100%-ot!");
String a = in.nextLine();
double szazSzazalek = Double.parseDouble(a);
System.out.println("Kérem, hogy adja meg az arányt (?%)!");
String b = in.nextLine();
double szazalek = Double.parseDouble(b);
System.out.println("A bevitt szám (" + szazSzazalek + ") 1%-a: " + (szazSzazalek
/ 100)
+ "\nA bevitt szám " + szazalek + "%-a: " + szazSzazalek * (szazalek
/ 100)
+ "\nA bevitt szám növekedése a százalék arányában: "
+ (szazSzazalek + (szazSzazalek
* (szazalek / 100))
+ "\nA bevitt szám csökkenése a százalék arányában: "
+ (szazSzazalek - (szazSzazalek
* (szazalek / 100)))));
}
}
Végeredmény:
Kérem, hogy adja meg a 100%-ot!
200
Kérem, hogy adja meg az arányt (%)!
50
A bevitt szám (200.0) 1%-a: 2.0
A bevitt szám 50.0%-a: 100.0
A bevitt szám növekedése a százalék arányában: 300.0
A bevitt szám csökkenése a százalék arányában: 100.0