Guten Abend,
1. Mein Problem ist, dass bei der angehängten Datei nicht richtig gerundet wird. Wenn ich "Halloa" eingebe sollte der Mittelwert normalerweise auf 99 gerundet werden und es sollte "c" am Ende ausgegeben werden statt "b". Da ich nicht weiß, warum es nicht in der Form mit Math.round() funktioniert hat wie ich es gemacht habe, wollte ich euch mal fragen.
2. Oben versuche ich mit -> if (text==null) usw. auf einen leeren String zu überprüfen. Es sollte bei Eingabe von "" im Eingabefeld auch wieder "" ausgegeben werden statt " .
3. Ich habe von meinem Korrektor gesagt bekommen, ich soll den Scanner nicht mehr benutzen. Wie ist das mit der Aufgabe zu vereinbaren, das verstehe ich nicht wirklich.
Vielen Dank .
1. Mein Problem ist, dass bei der angehängten Datei nicht richtig gerundet wird. Wenn ich "Halloa" eingebe sollte der Mittelwert normalerweise auf 99 gerundet werden und es sollte "c" am Ende ausgegeben werden statt "b". Da ich nicht weiß, warum es nicht in der Form mit Math.round() funktioniert hat wie ich es gemacht habe, wollte ich euch mal fragen.
2. Oben versuche ich mit -> if (text==null) usw. auf einen leeren String zu überprüfen. Es sollte bei Eingabe von "" im Eingabefeld auch wieder "" ausgegeben werden statt " .
3. Ich habe von meinem Korrektor gesagt bekommen, ich soll den Scanner nicht mehr benutzen. Wie ist das mit der Aufgabe zu vereinbaren, das verstehe ich nicht wirklich.
Vielen Dank .
Java:
import java.util.Scanner;
public class Functionality {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Gebe ein String ein: ");
String text = scan.nextLine();
scan.close();
System.out.println(stringMean(text));
}
public static String stringMean (String text)
{
if (text == null) {
System.out.println("");
}
double mittelwert = 0;
double summe = 0;
char[] chars = text.toCharArray();
for(int i=0;i<chars.length;i++) {
System.out.println((int)chars[i]);
summe += chars[i];
}
System.out.println("Summe:" + summe);
mittelwert = summe/chars.length;
System.out.println("Mittelwert: " + mittelwert);
if (summe % chars.length != 0) {
Math.round(summe/chars.length);
}
double number[] = {mittelwert};
text = null;
for(double i: number){
text = Character.toString((char)i);
}
return text;
} }
Java:
Erstellen Sie die Klasse Functionality.java und bearbeiten Sie die folgende Aufgabe:
Implementieren Sie eine statische-public-Methode mit dem Namen "stringMean", welche einen String erhält und wieder einen String zurückgibt.
Die Methode soll den Mittelwert von einem String berechnen.
Der Mittelwert wird berechnet, indem man von jedem einzelnen Character im String den dezimalen ASCII-Wert nimmt, zusammenrechnet und durch die Länge des Strings teilt.
Sollte bei der Division keine Ganzzahl herauskommen, dann muss man die Methode Math.round(double) verwenden um die Zahl zu runden. Der gerundete Mittelwert muss dann auf dem umgekehrten Weg in einen String umgewandelt werden.
Sollte der String leer sein, dann muss ein leerer String zurückgegeben werden.