Java :: Aufgabe #240

3 Lösungen Lösungen öffentlich

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:

Konsolenausgabe:

 7.1 => 5
8.4 => 10
-2.4 => 0
-2.6 => -5
-8.3 => -10

Lösungen:

vote_ok
von Kotgreifer (1100 Punkte) - 18.06.2019 um 10:24 Uhr
Quellcode ausblenden Java-Code
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)));
		}
	}
vote_ok
von nOrdan (1160 Punkte) - 21.07.2019 um 22:20 Uhr
Main-Klasse:

Quellcode ausblenden 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]);
        }        
    }        
}


vote_ok
von Rattlesnake (150 Punkte) - 16.08.2019 um 13:07 Uhr
Quellcode ausblenden Java-Code
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