Java :: Aufgabe #304 :: Lösung #1
1 Lösung

#304
Differenz(en) von Eingabewerten
Fortgeschrittener - Java
von JKooP
- 04.10.2020 um 12:26 Uhr
Schreibe eine Methode/Funktion, die die maximale bzw. minimale Differenz von Eingabewerten ermittelt.
z.B. f(3, -2, 18, -1, 50)
Min: 1, da Absolut(-2 - -1) = 1
Max: 52, da Absolut(50 - -2) = 52
Viel Spaß
z.B. f(3, -2, 18, -1, 50)
Min: 1, da Absolut(-2 - -1) = 1
Max: 52, da Absolut(50 - -2) = 52
Viel Spaß
#1

von vinuel (230 Punkte)
- 24.10.2020 um 19:44 Uhr

package a304; import java.util.Scanner; public class main { public static void main(String[] args) { Scanner input = new Scanner(System.in); // input scanner System.out.println("Bitte geben sie alle gewünschten nummern getrennt mit einem Komma \",\" ein:"); String values = input.next(); //eingelesene werte als string in "values" speichern int[] numbers = split(values); System.out.println("niedrigste Differenz: " + getLowestDiff(numbers)); System.out.println("höchste Differenz: " + getHighestDiff(numbers)); } private static int[] split(String numbers) { String[]numsString = numbers.split(","); int[] erg = convertToIntArray(numsString); return erg; } private static int[] convertToIntArray(String[] numbers) { int[] nums = new int[numbers.length]; for(int i = 0; i < numbers.length; i++) { nums[i] = Integer.parseInt(numbers[i]); } return nums; } private static int getLowestDiff(int[] numbers) { int lowestDiff = Integer.MAX_VALUE; for(int i = 0; i < numbers.length; i++) { for(int j = 0; j < numbers.length; j++) { if(numbers[i]-numbers[j]>0 && numbers[i]-numbers[j] < lowestDiff) { lowestDiff = numbers[i]-numbers[j]; } } } return lowestDiff; } private static int getHighestDiff(int[] numbers) { int highestDiff = Integer.MIN_VALUE; for(int i = 0; i < numbers.length; i++) { for(int j = 0; j < numbers.length; j++) { if(numbers[i]-numbers[j]>0 && numbers[i]-numbers[j] > highestDiff) { highestDiff = numbers[i]-numbers[j]; } } } return highestDiff; } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1