Array implementierung

Bitte aktiviere JavaScript!
Gegeben ist folgendes Programm:


Java:
import java.util.Scanner;

public class Array {
void print (int[] arr ){
if (arr == null) return;
for(int i = 0; i < arr.length ; i++)
System.out.println(" arr[" + i + "]: " + arr[i]);
}
void input (int[] arr) {
// Ihr Code ...
}
int[] reverse (int[] arr) {
// Ihr Code ...
}
int[] encode (int[] arr ){
// Ihr Code ...
}
public static void main ( String [] args ) throws Exception {
// Arbeitsobjekt von Klasse Array anlegen
Array worker = new Array();
// Ein Array mit 15 Werten anlegen und weitere Referenzen
int[] values = new int [15];
int[] reversedArray; int[] encodedArray;
// Werte in Eingabe-Array einlesen und ausgeben
worker.input(values);
System.out.println(" ----------- Eingabewerte: ----");
worker.print(values); // Werte des Eingabe-Arrays drehen und ausgeben
reverseArray = worker.reverse(values);
System.out.println(" ----------- Nach Drehung: ----");
worker.print(reversedArray);
// Werte des Eingabe-Arrays komprimieren und ausgeben encodedArray = worker.encode(values);
System.out.println (" ---------- Komprimiert: ----"); worker.print(encodedArray);
}
}

Implementieren Sie den gegebenen Code und die Methode input() reverse() und encode()
Testen Sie diese Methode mit drei verschiedenen Zahlenszenarien
 
Zuletzt bearbeitet von einem Moderator:
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Na jetzt mal im ernst. Was genau erwartest du?
Du stellst keine Frage, zeigst nicht was du bisher probiert hast.

Das hier ist ein Forum zur Selbsthilfe .. keine Hausaufgabenplattform.
 
Hmm, und da hilft mir die Aufgabe? Verstehe ich nicht....

BTW: es scheint mir, dass es unüblich ist, von Anfang an ein OO Design zu nutzen. Wie seht ihr das eigentlich? Würde es doch nicht wirklich verkomplizieren, wenn man z.B. hier in Array die Daten kapseln würde. Statt dessen wird das eher eine ArrayUtil Klasse, deren Funktionen alle statisch sein sollten. Wozu eine Instanz einer Klasse Array - ist ja eigentlich Quatsch. Bei anderen Aufgaben war das ja dann auch so ...

Oder übersehe ich hier einen Grund, der für so einen Ansatz spricht?
 
Würde es doch nicht wirklich verkomplizieren, wenn man z.B. hier in Array die Daten kapseln würde
Dazu gibt es die unterschiedlichsten Meinungen und es hängt wahrscheinlich auch vom Menschen ab. Ich hab im Studium festgestellt, dass es einige Leute gibt, die mit dem OO Denken nicht klar kommen. Wenn es dann noch der erste Programmierkurs ist, kann es schwer werden jemanden Basics + OOP beizubringen.
 
macht ihr nix draus, die sind zu mir auch so hhahha
Ja genau, In Deinem letzten Thread waren wir alle böse und haben Dir nicht geholfen ... hunderte Antworten, wo wir Dich nur nieder gemacht haben ....

Also sorry, glaubst du nicht, dass du hier extrem dreist auftrittst? Und Du trittst die, die ihre Zeit investiert haben um Dir zu helfen mit Füßen ... Nur weil du lernresistent bist, sind wir schuld?
 
Dazu gibt es die unterschiedlichsten Meinungen und es hängt wahrscheinlich auch vom Menschen ab. Ich hab im Studium festgestellt, dass es einige Leute gibt, die mit dem OO Denken nicht klar kommen. Wenn es dann noch der erste Programmierkurs ist, kann es schwer werden jemanden Basics + OOP beizubringen.
Aber durch die Vermeidung von OO Design wird es später doch eher schwerer. Und wenn man meint, dass OO Dinge erst Mal außen vor bleiben sollten, dann wäre doch auch eine andere Sprache angebrachter....

Wenn Algorithmen z.B. Im Vordergrund stehen sollen, dann ist eine Sprache wie Moduls-2 super. Hat halt den Vorteil, dass sie deutlich konsequenter vom Design her ist und eben nicht überfrachtet mit Möglichkeiten.
Der Smalltalk Ansatz gefällt mir auch extrem gut und ist direkt visuell. Da hat man halt direkt eine OO Umgebung. Und auch sehr konsequent und logisch aufgebaut.
Für die Konzepte und so sind das für den Lehrbetrieb eher die besseren Wege. Java ist da weniger geeignet mit all den Funktionen und so, Da kommt extrem schnell zu viel auf jemanden zu. Lösungen wie BlueJ wollen das wohl etwas abfangen, aber so Lösungen fand ich bisher nicht überzeugend.

Aber ich muss gestehen, dass ich in dem Bereich nur wenig aktiv bin. Ich bin halt nicht damit beschäftigt, anderen das Programmieren bei zu bringen. Aber das Thema interessiert mich etwas weshalb ich mir in den letzten Jahren einiges angesehen habe. Modula2 und Smalltalk gehen aber auf meine Studienzeiten zurück ... aber damals haben wir das an der Uni mit anderen Lösungen verglichen. (Da ist Java erst aufgekommen...war noch kein Hype und hatte auch noch nicht die feste Position im Server Bereich wie heute)

Und das Argument, das man öfters hört bzgl. Tauglichkeit im Alltag: Im Lehrbetrieb geht es aus meiner Sicht nicht um sowas. Wer später richtig Software entwickeln will, muss ehh extrem viel lernen. Da kann er etwas Syntax eben mit lernen. So man die Konzepte verstanden hat, ist das wirklich einfach.

Da würde mich eure Sicht durchaus interessieren. Meine Sicht soll niemanden überzeugen sondern nur eine Grundlage für mögliche Diskussionen schaffen.
 
Dazu gibt es die unterschiedlichsten Meinungen und es hängt wahrscheinlich auch vom Menschen ab. Ich hab im Studium festgestellt, dass es einige Leute gibt, die mit dem OO Denken nicht klar kommen. Wenn es dann noch der erste Programmierkurs ist, kann es schwer werden jemanden Basics + OOP beizubringen.
wenn ich lern Resistenz wäre dann sässe ich nicht 8 studnen dran...
 
wenn ich lern Resistenz wäre dann sässe ich nicht 8 studnen dran...
Den Tipp mit der Rechtschreibung scheinst du zumindest nicht zu beherzigen ;)

@kneitzel
Ich geb dir mit allem Recht was du ansprichst. Ich wollte mit meinem Post auch eigentlich nicht ausdrücken, dass ich für so eine "Lernart" bin.
Modula2 und Smalltalk kannte ich so nicht - ist sicherlich auch nicht ganz meine Zeit.. Heute sind Dinge wie BlueJ oder Robot-Karol das "Non plus ultra" .. davon halte ich selber aber nicht viel. Das gaukelt den den Schülern/Studenten mEn nur eine wunderschöne Welt vor und sobald man dann das erste Mal eine main-Methode sieht versteht man nichts mehr.
 
richtiger shitstorm hier . Dann helft doch anderen oder geht raus hier.. ist nicht so das ich hier ne Lösung will.. nur evtl Ansätze um zu helfen.. das da ne for schleife reingehört ist mir selber bewusst..
 
@guidok Es ist nicht so, dass dir keiner helfen will. Nur machst du ein neuen Thread auf, postest irgendeine Aufgabe rein und stellst weder eine Frage, noch zeigst du auf, was du bisher hast bzw. was dein Problem ist.
Es ist ja wohl nicht zu viel verlangt, oder?

Also .. was hast du denn bisher bzw wie sehen deine Gedanken dazu aus?
 
Also einen Shitstorm habe ich hier bisher nicht erlebt. Liegt wohl einfach daran, dass die Leute etwas besseres zu tun haben und dann sich einfach anderen Dingen zuwenden.

Wer etwas Unmut, der nach über 200 Posts ohne wirklichen Fortschritt halt aufkommt, als Shitstorm empfindet, der hat keine Ahnung, was ein Shitstorm ist.

Aber wie dem auch sei: Hier wurde einfach nur nachgefragt, was die Erwartungshaltung des TE ist, da er versäumt hat, dies zu schreiben. Ok, er war der Meinung, dass das Problem so komplex ist, dass wir einmal drüber schlafen sollten, habe ich jetzt gemacht.

Und ja, in den Funktionen könnte man Schleifen einsetzen. Das wäre nun zu präzisieren. Also das was gegeben ist in Code-Tags:

Java:
import java.util.Scanner;

public class Array {
    
    void print (int[] arr ){
        if (arr == null) return;
        
        for(int i = 0; i < arr.length ; i++)
            System.out.println(" arr[" + i + "]: " + arr[i]);
    }

    void input (int[] arr) {
        // Ihr Code ...
    }

    int[] reverse (int[] arr) {
        // Ihr Code ...
    }

    int[] encode (int[] arr ){
        // Ihr Code ...
    }

    public static void main ( String [] args ) throws Exception {

        // Arbeitsobjekt von Klasse Array anlegen
        Array worker = new Array();

        // Ein Array mit 15 Werten anlegen und weitere Referenzen
        int[] values = new int [15];
        int[] reversedArray;
        int[] encodedArray;

        // Werte in Eingabe-Array einlesen und ausgeben
        worker.input(values);
        
        System.out.println(" ----------- Eingabewerte: ----");
        worker.print(values); // Werte des Eingabe-Arrays drehen und ausgeben

        reverseArray = worker.reverse(values);

        System.out.println(" ----------- Nach Drehung: ----");
        worker.print(reversedArray);

        // Werte des Eingabe-Arrays komprimieren und ausgeben
        encodedArray = worker.encode(values);
        
        System.out.println (" ---------- Komprimiert: ----");
        worker.print(encodedArray);
    }
}
Das Schöne hier ist doch, dass in der print Funktion ja schon prinzipiell gezeigt ist, wie so eine Schleife aussieht. Es muss ja lediglich der Inhalt der Schleife gefüllt werden. Und dann wird man evtl. vor der Schleife noch eine Kleinigkeit machen müssen. Aber wenn man das nicht macht, dann wird einem zur Laufzeit gesagt, dass man da was vergessen hat über eine NullPointerException.
 
Nein, ein richtiger shitstorm ist es nicht, aber was nicht iss, kann leicht noch werden........

Das Problem ist einfach was ich sehe, das sich dieses Thema schon wieder in diese Richtung entwickelt, das ANDERE Dir den Service bieten, Deine Hausaufgaben vollumfänglich zu lösen...

Und damit mal ein Moin in die Runde.
 
Nunja, das kommt von mir nicht. Dass da eine Schleife sein muss, hat er ja schon gesagt und ich habe in erster Linie darauf hingewiesen, dass es ja schon eine Schleife in einer Funktion gibt...

Daher wird entweder jetzt endlich mehr kommen vom TE oder der Thread wird einfach in Hausaufgaben verschoben und darf da sterben. Shitstorm sehe ich hier aber eher nicht, denn wozu sollten wir dazu Zeit verschwenden?
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben