Java :: Aufgabe #240
3 Lösungen

Array von Zahlen in die nächstgelegene durch 5 teilbare Zahl umwandeln
Anfänger - Java
von Gustl
- 08.05.2019 um 20:08 Uhr
Schreibe ein Programm welches aus einem Array von Dezimalzahlen diese Zahlen in die nächstgelegene durch 5 teilbare Zahl umwandeln.
Etwa so:
Etwa so:
Konsolenausgabe:
7.1 => 5
8.4 => 10
-2.4 => 0
-2.6 => -5
-8.3 => -10
Lösungen:

public static void main(String[] args) { double[] zahlen= new double[] {5.2, 17.6, 1.8, 5.9, 8.1 ,12.9 ,6.4 }; for (double num : zahlen) { System.out.println(num+" => "+(5*Math.round(num/5))); } }
Main-Klasse:
Java-Code

/** * Schreibe ein Programm welches aus einem Array von Dezimalzahlen diese Zahlen in die nächstgelegene durch 5 teilbare Zahl umwandeln. * * @author (nOrdan) * @version (21.07.2019) */ public class Umwandler { double [] unbearbeitet = {3.4, 2.2, 90.3, 45.0, 32.2, 1092.3 , 2.2313232312, 2.50, 5.5, 3.2, 4.2}; double [] bearbeitet = new double[unbearbeitet.length]; public static void main(String [] args) { Umwandler u = new Umwandler(); u.umwandeln(); } private void umwandeln() { System.out.print('\u000C'); double vorkommastellen = 0; double nachkommastellen = 0; for (int i = 0; i < unbearbeitet.length; i++) { double durch5 = unbearbeitet[i] / 5; vorkommastellen = (int) durch5 / 1; nachkommastellen = durch5 - vorkommastellen; if (nachkommastellen >= 0.5) { bearbeitet[i] = 5 + vorkommastellen * 5; } else { bearbeitet[i] = vorkommastellen * 5; } System.out.println(unbearbeitet[i] + " = " + bearbeitet[i]); } } }

public class Java_240 { public static void nextMultipleFive(double[] n){ for (double a:n) { double multFive; double modFive = a%5; double modMinusFive; if (a > 0) { if (modFive < 2.5) { multFive = a - modFive; } else multFive = a + (5 - modFive); }else { double nA = a*(-1); modMinusFive = nA%5; if (modMinusFive < 2.5){ multFive = (nA - modMinusFive)*-1; }else multFive = (nA + (5- modMinusFive))*-1; } if (multFive == -0.0) multFive = 0.0; System.out.println(a + " => " + multFive); } } public static void main(String[] args) { double[] test = new double[5]; test[0] = 7.1; test[1] = 8.4; test[2] = -2.4; test[3] = -2.6; test[4] = -8.3; nextMultipleFive(test); } }
und die Ausgabe:
7.1 => 5.0
8.4 => 10.0
-2.4 => 0.0
-2.6 => -5.0
-8.3 => -10.0