Hallo habe folgende Aufgabe bearbeitet aber es wird nur false zurück gegeben. Hat jemand eine Ahnung wieso?
Beispiel: Ich gebe 1,2,3,6 ein (summe= 12; mittelwert Vor und Nach = 3; 3 ist im array; ausgabe trotzdem false)
AUFGABE:
Erstellen sie die Klasse Functionality.java und bearbeiten sie die folgende aufgabe.
Implementieren sie eine static public methode mit namen "containsMean",
welche ein array vom typ int erhält und einen boolean zurück gibt.
Die MEthode soll den mMittelwert von allen Zahlen aus dem Array berechnen.
Der Mittelwert soll auf eine Ganzzahl ruden. Es wird true zurückgegeben,
wenn der abgerundete Mittelwert im Array selbst enthalten ist.Sollte der Mittelwert nicht enthalten sein oder das Array null sein oder das
Array nicht mindestens ein Element besitzen, dann soll false zurückgegeben werden.
CODE:
Beispiel: Ich gebe 1,2,3,6 ein (summe= 12; mittelwert Vor und Nach = 3; 3 ist im array; ausgabe trotzdem false)
AUFGABE:
Erstellen sie die Klasse Functionality.java und bearbeiten sie die folgende aufgabe.
Implementieren sie eine static public methode mit namen "containsMean",
welche ein array vom typ int erhält und einen boolean zurück gibt.
Die MEthode soll den mMittelwert von allen Zahlen aus dem Array berechnen.
Der Mittelwert soll auf eine Ganzzahl ruden. Es wird true zurückgegeben,
wenn der abgerundete Mittelwert im Array selbst enthalten ist.Sollte der Mittelwert nicht enthalten sein oder das Array null sein oder das
Array nicht mindestens ein Element besitzen, dann soll false zurückgegeben werden.
CODE:
Java:
import java.util.Scanner;
import java.util.Arrays;
public class Functionality {
public static void main(String[]args) {
int laenge = 0;
System.out.println("Geben Sie die Länge des Arrays ein: ");
Scanner scan = new Scanner(System.in);
laenge = scan.nextInt();
int array[] = new int[laenge];
System.out.println(containsMean(array));
}
public static boolean containsMean(int array[]) {
Scanner scan = new Scanner(System.in);
int mittelwertVor = 0;
int mittelwertNach = 0;
int summe = 0;
int anzahl = 0;
boolean check = true;
for(int i = 0; i < array.length; i++)
{
System.out.println("Geben Sie die Arraywerte ein: ");
array[i] = scan.nextInt();
anzahl++;
summe = summe + array[i];
}
mittelwertVor = summe/anzahl;
mittelwertNach = Math.round(mittelwertVor);
for(int i = 0; i < array.length; i++)
{
if(array[i] == mittelwertNach)
{
check = true;
}
else if(summe == 0)
{
check = false;
}
else if(anzahl < 1)
{
check = false;
}
else
{
check = false;
}
}
System.out.println("vor: " +mittelwertVor);
System.out.println("nach: "+mittelwertNach);
return check;
}
}
Zuletzt bearbeitet von einem Moderator: