Hallo zusammen,
Ich habe eine Aufgabe aus einer Beispiel Klausur nicht ganz verstanden und bräuchte ein bisschen Hilfe. Zudem geht es um Einführung in die Informatik deshalb denke, dass da keine wilden ultra Methoden geschrieben werden müssen also bitte haltet die Antworten möglichst simpel wenn möglich. Es handelt sich um folgende Aufgabe
Aufgabe 3 .)
In dieser Aufgabe sollen Sie die folgenden Methoden realisieren. Hierzu stehen Ihnen folgende Hilfsmethoden zur Verfügung. Verwenden Sie zur Realisierung der Methode eine geeignete Auswahl aus den Hilfsmethoden, die alle öffentlich und statisch sind.
int max(int x, int y) gibt das Maximum zweier Zahlen zurück.
int max(int[ ] a) gibt die gröÿte Zahl eines Arrays zurück.
int min(int[ ] a) gibt die kleinste Zahl eines Arrays zurück.
int sum(int[ ] a) gibt die Summe aller Elemente eines Arrays zurück.
double sqrt(int x) berechnet die Wurzel von x und gibt das Ergebnis zurück.
void printMax(int[ ] a) gibt die größte Zahl eines Arrays aus.
a) Schreiben Sie eine öffentliche, statische Methode max, welche das Maximum aus den zwei int-Arrays a und b berechnet.
jetzt weiß ich nicht genau wie die Aufgabe gemeint ist. (1)Ist es so gemeint, dass man die Maximum werte der Arrays einzeln berechnen soll also eine Methode, die das Maximum von a und b gleichzeitig berechnet bzw. ausgeben könnte . (2)Oder ist es so gemeint dass die Maximum werte von a und b miteinander verrechnet werden sollen. (3) Oder ob die Größte Zahl aus a und b ausgegeben bzw. berechnet werden soll. Vor allem wenn eine der Hilfsmethoden verwendet werden muss.
bei dem letzten weiß ich nicht wie ich das machen soll und bei dem ersten weiß ich nicht wie man das nur mit einer Methode machen soll. Es geht übrigens nur um die Methode man soll kein komplettes Programm schreiben.
so würde ich das bei (1) lösen. Hier überlade ich die Methode max weil ich nicht weiß wie man das ohne macht.
so würde ich das bei (2) lösen
Ich habe eine Aufgabe aus einer Beispiel Klausur nicht ganz verstanden und bräuchte ein bisschen Hilfe. Zudem geht es um Einführung in die Informatik deshalb denke, dass da keine wilden ultra Methoden geschrieben werden müssen also bitte haltet die Antworten möglichst simpel wenn möglich. Es handelt sich um folgende Aufgabe
Aufgabe 3 .)
In dieser Aufgabe sollen Sie die folgenden Methoden realisieren. Hierzu stehen Ihnen folgende Hilfsmethoden zur Verfügung. Verwenden Sie zur Realisierung der Methode eine geeignete Auswahl aus den Hilfsmethoden, die alle öffentlich und statisch sind.
int max(int x, int y) gibt das Maximum zweier Zahlen zurück.
int max(int[ ] a) gibt die gröÿte Zahl eines Arrays zurück.
int min(int[ ] a) gibt die kleinste Zahl eines Arrays zurück.
int sum(int[ ] a) gibt die Summe aller Elemente eines Arrays zurück.
double sqrt(int x) berechnet die Wurzel von x und gibt das Ergebnis zurück.
void printMax(int[ ] a) gibt die größte Zahl eines Arrays aus.
a) Schreiben Sie eine öffentliche, statische Methode max, welche das Maximum aus den zwei int-Arrays a und b berechnet.
jetzt weiß ich nicht genau wie die Aufgabe gemeint ist. (1)Ist es so gemeint, dass man die Maximum werte der Arrays einzeln berechnen soll also eine Methode, die das Maximum von a und b gleichzeitig berechnet bzw. ausgeben könnte . (2)Oder ist es so gemeint dass die Maximum werte von a und b miteinander verrechnet werden sollen. (3) Oder ob die Größte Zahl aus a und b ausgegeben bzw. berechnet werden soll. Vor allem wenn eine der Hilfsmethoden verwendet werden muss.
bei dem letzten weiß ich nicht wie ich das machen soll und bei dem ersten weiß ich nicht wie man das nur mit einer Methode machen soll. Es geht übrigens nur um die Methode man soll kein komplettes Programm schreiben.
so würde ich das bei (1) lösen. Hier überlade ich die Methode max weil ich nicht weiß wie man das ohne macht.
Java:
public static int max (int [] a) {
int sum =0;
for( int i=0;i<a.length;i++) {
if (sum<a[i]) sum = a[i];
} return (sum);
} public static int max (int [] a, int [] b) {
int sum2=0;
for(int j=0;j<b.length;j++) {
if(sum2<b[j]) sum2=b[j];
} return (sum2) } ;
so würde ich das bei (2) lösen
Java:
public static int max (int [] a, int [] b) {
int sum=0;
for(int i=0;i<a.length;i++) {
if (sum <a[i]) sum=a[i];
}
int sum2=0;
for (int j=0;j<b.length;j++) {
if ( sum2<b[j]) sum2=b[j];
} return(sum+sum2);
Zuletzt bearbeitet: