Gyakorlati alapok
Kerekítés - gombolyítás külön függvényeskedéssel
A fejezet előzményei a Kerekítés - gombolyítás című fejezetben tanulmányozhatók. A külön függvényes algoritmus alapja a következő:
import java.util.Scanner;
public class Main {
public static int kerekit(int szam) {
if(szam % 5 == 0) {
return szam;
}
else
return Math.round(((float)szam) / 5)
* 5;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Kérem adjon meg egy számot: \n");
int szam = sc.nextInt();
System.out.println("A szám kerekítve: " + kerekit(szam));
}
}
Eredmény:
Kérem adjon meg egy számot:
8
A szám kerekítve: 10
Ekkor a kerekítést egy kerekit() nevű külső függvénybe tettük. Emlékezzünk vissza azonban, a specifikáció...
-
tömb méretének előzetes bekérése (tomb[elemszam]),
-
elemekkel való feltöltése,
-
elemeinek egy másik tömbbe (tomb2[elemszam]) való átmásolása és a kerekítési szabályok szerinti módosítása,
-
illetve a kerekítési metódust külön függvénybe kellett illeszteni.
...ennél több premisszát, kiindulópontot tartalmazott. Először nézzük meg az internetes olvasó végső megoldását:
import java.util.Scanner;
public class Main {
public static int round(int osszeg) {
int szam = osszeg;
if (szam % 5 == 0) {
return szam;
} else {
return Math.round(((float) szam) / 5)
* 5;
}
}
public static void roundSelf(int[] numbers) {
for (int i = 0; i < numbers.length; i++) {
numbers[i] = round(numbers[i]);
System.out.println(numbers[i]);
}
}
public static int[] roundNew(int[] numbers) {
int[] tomb = new int[numbers.length];
for (int i = 0; i < tomb.length; i++) {
tomb[i] = round(numbers[i]);
}
return tomb;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Kérem az összegek számát: ");
int osszeg = sc.nextInt();
int[] tomb = new int[osszeg];
System.out.println("Kérem az összegeket: ");
for (int i = 0; i < tomb.length; i++) {
tomb[i] = sc.nextInt();
}
System.out.print("Kerekítve: \n");
roundSelf(tomb);
}
}
Kérem az összegek számát: 5
Kérem az összegeket:
10
33
56
45
22
Kerekítve:
10
35
55
45
20
Ebből, valamint a Kerekítés - gombolyítás című fejezetben találtak alapján próbáljunk találni külön függvényes megoldásokat, akár többfélét is.
A megoldás fejezete a képre kattintva érhető el.