Studium - bitte dringend helfen !!!

ipstyle

Mitglied
Hi Leute!

Ich studiere Wirtschaftsinformatik im II.Semester und muss bis spätestens DIENSTAG ein Testat abgeben, damit ich zur Java-Prüfung am Ende des Semesters zugelassen werde.

Ich kann die Aufgabe leider nicht lösen, und brauche dringend eure Hilfe.

Der Quelltext zu dieser Aufgabe dürfte meiner Meinung nach nur ca. 50 Zeilen betragen, für einen erfahrenen Programmierer dürfte diese Aufgabe in ca. 5 Minuten gelöst sein.

Ich habe auch schon selber einen Ansatz dazu entwickelt, hier der Quelltext dazu, ist aber nicht sehr viel:


public class AudioFile {

public static void main(String[] args) {

/*Attribute*/

private String pathname;
private String author;
private String title;

/*Getter*/

public String getPathname()
{
return pathname;
}

}

}





ACHTUNG: Uns wurde bereits eine vorgefertigte JUNIT Datei zur Verfügung gestellt, eine eigene vordefinierete Klasse quasie, damit wir nicht so viel selber machen müssen:



public class AudioFile {

public static void main(String[] args) {

/*Attribute*/

private String pathname;
private String author;
private String title;

/*Getter*/

public String getPathname()
{
return pathname;
}

}

}




Hier nun die Aufgabenstellung: Ich hoffe sehr, dass ihr mir helft, bitte das ist meine letzte Hoffnung, sonst darf ich nicht ins Hauptstudium, also bitte helft mir.
P.S. Ich wäre auch gerne bereit, demjenigen der mir das Programm schreibt eine kleine Spende als Dankbarkeit zu überweisen, falls das erlaubt ist, ich weiß ja nicht...




Vorführaufgabe 6: Eine einfache Klasse
Wie schon im ersten Semester wird auch der zweite Teil ihrer grundlegenden Programmierausbildung
durch ein Praktikum begleitet. Die fünf zu erstellenden Vorführaufgaben bauen dabei
aufeinander auf und werden Sie schrittweise durch die Implementierung eines einfachen
Audioplayers begleiten.

(a) Legen Sie zunächst eine Klasse AudioFile an. Diese Klasse hat die Attribute pathname,
author und title, alle vom Typ String. Achten Sie darauf die Sichtbarkeiten dabei so
restriktiv wie möglich zu vergeben (d.h. im Regelfall private).

(b) Legen Sie für das Attribut pathname eine Getter-Methode an. Diese ist eine Methode
public String getPathname(), die pathname zurück gibt und damit auch außerhalb
der Klasse den (lesenden) Zugriff auf das Attribut pathname erlaubt.
Jedes Objekt der Klasse AudioFile bezieht sich auf eine einzelne Audiodatei. Der Pfadname
dieser Datei besteht aus dem optionalen Pfad und dem Dateinamen. Wird ein Pfad angegeben, so
kann dies eine absolute oder eine relative Angabe sein. Es kann also der vollständige Pfad, ein
relativer Pfad oder auch gar kein Pfad mit angegeben sein.

Beispiele für Unix/Linux Systeme:

/home/meier/Musik/Falco_–_Rock Me Amadeus.mp3 (absoluter Pfad, beginnt mit /)
../musik/Falco_–_Rock Me Amadeus.mp3 (relativer Pfad)
Falco_–_Rock Me Amadeus.mp3 (ohne Pfad)
Beispiele für Windows Systeme:
D:\Daten\Musik\Falco_–_Rock Me Amadeus.mp3 (absoluter Pfad, beginnt mit
Laufwerksangabe)
..\Musik\Falco_–_Rock Me Amadeus.mp3 (relativer Pfad)
Falco_–_Rock Me Amadeus.mp3 (ohne Pfad)

(Der Unterstrich '_' steht hier, ebenso wie im Rest der Abgabe, jeweils für ein Leerzeichen.)
Bitte beachten Sie, dass der Pfadseparator, also das Trennzeichen für die einzelnen Verzeichnisse,
je nach Betriebssystem unterschiedlich ist, etwa ein '/' unter Unix und ein '\' unter
Windows. Das statische Attribut (also das „objektorientierte Gegenstück" einer Konstante)
java.io.File.separatorChar beinhaltet aus diesem Grund den Pfadseparator betriebssystemunabhängig.
Dieser kann etwa mit
System.out.println(java.io.File.separatorChar);
ausgegeben werden.
GP2P / OOPP Seite 1 von 2 Vorführaufgabe 6 (SS 10)
Häufig finden sich bei Audiodateien Dateinamen nach folgendem Schema
Interpret_–_Titel.Endung (siehe hierzu auch die Beispiele oben)
Etwaige Leerzeichen vor und nach dem Bindestrich sind dabei natürlich optional und gehören -
sofern vorhanden - nicht zu Interpret und Titel. Ebenso spielt ein eventuell angegebener Pfad
natürlich keine Rolle.

(c) Implementieren Sie nun den Konstruktor der Klasse unter Berücksichtigung folgender
Vorgaben:
• Der Konstruktor hat einen Parameter vom Typ String, der den Pfadnamen enthält.
Dieser wird dem Attribut pathname der Klasse zugewiesen.
• Sofern der Dateiname einen Bindestrich ('-') im Namen hat, schließen Sie nach
obigem Schema auf Titel und Interpret. Weisen Sie diese den Attributen author
und title zu. (Hinweis: Leereichen am Anfang und am Ende von Titel und/oder Interpret gehören
nicht zu den Trackinformationen.)
• Sofern sich nach obigem Schema keine Trackinformationen ermitteln lassen,
initialisieren Sie das Attribut author mit einem leeren String und das Attribut title
auf den Dateinamen ohne Pfad und ohne Endung.
Sofern ein Objekt in einem String-Kontext verwendet wird, wird von der Laufzeitumgebung
automatisch die Methode toString() des Objektes aufgerufen. So wird etwa
Sting x = "Objekt: " + obj;
automatisch umgesetzt zu
String x = "Objekt: " + obj.toString();.
Die Methode toString(), die jede Klasse von java.lang.Object erbt, kann natürlich durch eine
eigene Methode überschrieben werden um die Ausgabe den eigenen Bedürfnissen anzupassen.

(d) Um eine komfortablere Ausgabe zu ermöglichen, überschreiben wie die Methode
java.lang.Object.toString mit einer an unsere Zwecke angepassten Methode.
Legen Sie hierzu einfach eine Methode public String toString() für die Klasse
AudioFile an. In unserem Beispiel soll diese Methode einen String nach dem
folgenden Schema zurück geben:
• falls das Attribut author ein leerer String ist: „Titel“
• ansonsten: „Interpret – Titel“

(e) Schreiben Sie eine main-Methode, in der Sie sechs AudioFile Objekte für folgende
Dateinamen anlegen:
• /home/meier/Musik/Falco - Rock Me Amadeus.mp3
• Falco - Rock Me Amadeus.mp3
• /home/db-admin/Frankie Goes To Hollywood - The Power Of Love.ogg
• /tmp/Deep Purple - Smoke On The Water.wav
• /my-tmp/file.mp3
• file.mp3

Bitte beachten Sie, dass Sie die Pfade ggf. für das verwendete Betriebssystem anpassen
müssen! Für ein Windowssysteme ersetzen Sie hierzu etwa die führenden '/' durch C:\\
und alle weiteren '/' durch \\ ersetzen. (Ein doppelter '\' ist nötig, da ein einfacher '\' - wie aus C
schon bekannt - eine Escape-Sequenz wie etwa einen Zeilenumbruch - "\n" - einleiten würde.)
Geben Sie die angelegten Objekte anschließend jeweils mit System.out.println auf
die Standardausgabe aus.
GP2P / OOPP Seite 2 von 2 Vorführaufgabe 6 (SS 10)
 
G

Gast2

Gast
Ich studiere Wirtschaftsinformatik im II.Semester und muss bis spätestens DIENSTAG ein Testat abgeben, damit ich zur Java-Prüfung am Ende des Semesters zugelassen werde.
*wosch* ... das Semester in den Sand gesetzt

Der Quelltext zu dieser Aufgabe dürfte meiner Meinung nach nur ca. 50 Zeilen betragen, für einen erfahrenen Programmierer dürfte diese Aufgabe in ca. 5 Minuten gelöst sein.
geile Aussasge ... entweder hast Du gar keine Ahnung von der Materie oder Du bist zu faul ... Andere machen nicht so eine Aussage

/home/meier/Musik/Falco_–_Rock Me Amadeus.mp3 (absoluter Pfad, beginnt mit /)
cool :cool:
 

XHelp

Top Contributor
Und wo ist jetzt deine Frage? Oder erwartest du, dass es jemand für dich löst?

BTW: ich bin selber Tutor an der Uni und bin immer wieder erstaunt, wieviele Studenten aus allen Wolken fallen, wenn man die Quelle des Abschreibens aus dem Hut zaubert: "Wie, du kennst google???". Und man merkt es ziemlich gut, ob ein Student die Aufgabe selber gelöst hat, oder nicht.
 

Wortraum

Bekanntes Mitglied
Wenn ich das so überfliege, ist doch sehr detailliert beschrieben, was Du machen mußt, teilweise sogar, wie Du es machen mußt. Delegation mag in der Wirtschaft bedeutend sein, Deine Hausaufgaben aber wird Dir hier wahrscheinlich niemand machen. Du kannst natürlich gerne fragen, wenn Du an einer Stelle nicht weiterkommst oder etwas nicht funktioniert.

Ein kleiner Tip zu Deinem bisherigen Quelltext:
Die main-Methode sollte sich nicht in der Klasse AudioFile befinden, da die Klasse jeweils eine Audiodatei repräsentiert und mehrere Objekte davon erzeugt werden. Die Main-Methode hat damit nicht zu tun und hat auch in solchen Objekten nichts zu suchen.
 
Zuletzt bearbeitet:

OliverKroll

Aktives Mitglied
Die haben alle wieder mal schlechte Laune.

Wie wäre es damit:
Du darfst so oft du möchtest in meine Lösung schauen, aber um nicht beim Abschreiben erwischt zu werden, versuchst du trotzdem, dein Programm selber zu schreiben ;) :

Klasse AudioFile:
Java:
package pack1;

import java.io.*;

public class AudioFile
{
	private String pathname;
	private String author;
	private String title;
	
	public AudioFile(String pathname)
	{
		int a,b;
		int c,d;
		char sp;
		
		sp=File.separatorChar;
		
		this.pathname=pathname.trim();
		{
			a=this.pathname.lastIndexOf(" - ");
			if(a>0)
			{
				b=this.pathname.lastIndexOf(sp,a);
				this.title=this.pathname.substring(a+3);
				this.author=this.pathname.substring(b+1,a);
			}
			else
			{
				c=this.pathname.lastIndexOf(sp);
				d=this.pathname.lastIndexOf(".");
				this.author="";
				this.title=this.pathname.substring(c+1,d);
			}
		}
		
		System.out.println("pathname="+this.pathname);
		System.out.println("author  ="+this.author);
		System.out.println("title   ="+this.title);
		System.out.println();
	}
	
	public String getPathname()
	{
		return pathname;
	}
	
	public String toString()
	{
		String erg;
		
		erg="";
		
		if(this.author.equals(""))
		{
			erg=this.title;
		}
		else
		{
			erg=this.author+" - "+this.title;
		}
		
		return erg; 
	}
}

Klasse Hauptprogramm:
Java:
package pack1;

public class Hauptprogramm 
{
	public static void main(String[] args)
	{
		AudioFile af1,af2,af3,af4,af5,af6;
		
		af1=new AudioFile("C:\\\\home\\meier\\Musik\\Falco - Rock Me Amadeus.mp3");
		af2=new AudioFile("Falco - Rock Me Amadeus.mp3");
		af3=new AudioFile("C:\\\\home\\db-admin\\Frankie Goes To Hollywood - The Power Of Love.ogg");
		af4=new AudioFile("C:\\\\tmp\\Deep Purple - Smoke On The Water.wav");
		af5=new AudioFile("C:\\\\my-tmp\\file.mp3");
		af6=new AudioFile("file.mp3");
		
		System.out.println("af1="+af1);
		System.out.println("af2="+af2);
		System.out.println("af3="+af3);
		System.out.println("af4="+af4);
		System.out.println("af5="+af5);
		System.out.println("af6="+af6);
	}
}

Ausgabe des Hauptprogramms:
pathname=C:\\home\meier\Musik\Falco - Rock Me Amadeus.mp3
author =Falco
title =Rock Me Amadeus.mp3

pathname=Falco - Rock Me Amadeus.mp3
author =Falco
title =Rock Me Amadeus.mp3

pathname=C:\\home\db-admin\Frankie Goes To Hollywood - The Power Of Love.ogg
author =Frankie Goes To Hollywood
title =The Power Of Love.ogg

pathname=C:\\tmp\Deep Purple - Smoke On The Water.wav
author =Deep Purple
title =Smoke On The Water.wav

pathname=C:\\my-tmp\file.mp3
author =
title =file

pathname=file.mp3
author =
title =file

af1=Falco - Rock Me Amadeus.mp3
af2=Falco - Rock Me Amadeus.mp3
af3=Frankie Goes To Hollywood - The Power Of Love.ogg
af4=Deep Purple - Smoke On The Water.wav
af5=file
af6=file

Es kann sein, daß ich die Aufgabenstellung falsch verstanden habe, deshalb nützt dir bloßes Abschreiben sowieso nicht viel.
 

Wortraum

Bekanntes Mitglied
Mit schlechter Laune hat das nichts tun. Aber ich bin überrascht, daß er tatsächlich einen dummen gefunden hat. Glück für ihn. :) Und ich bin überrascht, wie wenig man für das Hauptstudium können muß. Alles in allem also ein überraschender Tag für mich.
 
Zuletzt bearbeitet:

Empire Phoenix

Top Contributor
Also eigentlich ist das je betrug, wenn du im 2ten Semester sowas nicht programmieren kannst, würde ich mir sehr überelgen ob du das richtige studierst... (Btw jeder zukünftige arbeitgeber wird sofort merken ob du dich durch dein studium geschummelt hast oder, den ganzen Mist kannst)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Studium Informatik Allgemeine Java-Themen 26
Robert Zenz Ich brauche bitte mal kurz einen Sanity/Reality-Check betreffend Tests. Allgemeine Java-Themen 9
jhCDtGVjcZGcfzug Klassen Was genau passiert hier? Kann mir das jemand bitte Zeile für Zeile erklären? Allgemeine Java-Themen 1
B Bitte um Code Erklärung Allgemeine Java-Themen 5
L Einfache Navigations-App schnell selber Programmieren? Bitte um Ideen und Anregungen. Allgemeine Java-Themen 17
J Simple Date Format Alternativen bitte um Code Allgemeine Java-Themen 14
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
I Bitte Drngend hilfe Allgemeine Java-Themen 2
F Socket NullPointerException Bitte um hilfe! Allgemeine Java-Themen 12
M Input/Output Java + OCR ? Erfahrungen und bitte um Hilfe Allgemeine Java-Themen 12
F Bitte um Hilfe! Allgemeine Java-Themen 5
D Code bitte mit 19 stelligen Zahlen kompatibel machen Allgemeine Java-Themen 5
J Probleme bei kompilieren ... Bitte um Hilfe Allgemeine Java-Themen 2
Jats ArrayList-Error Index: 1 Size:1 - Bitte um Hilfe Allgemeine Java-Themen 36
S Bitte um Hilfe Allgemeine Java-Themen 8
N "Bitte warten"-Meldung Allgemeine Java-Themen 6
C Eclipse spinnt - bitte Helfen! Allgemeine Java-Themen 3
J Probiert mal bitte aus (Thread + Runtime) Allgemeine Java-Themen 10
L Java6 update N bekommt neues Browser-Plugin, bitte testen. Allgemeine Java-Themen 7
J Bitte um Kurzinfo bez. JMF (ja, war bei Forumssuche/google) Allgemeine Java-Themen 2
E Bitte um Rat: Sortieren mit ArrayList Allgemeine Java-Themen 2
P Bitte um Hilfe Allgemeine Java-Themen 4
K Hab Sch***e gebaut - Bitte um Hilfe Allgemeine Java-Themen 7
G Zertifikat importieren? Bitte HILFE! Allgemeine Java-Themen 2
J synchronized (bitte beantworten, urgent! danke) Allgemeine Java-Themen 11
I Weiß nicht mehr weiter! Bitte helft mir! Allgemeine Java-Themen 5
P Was ist denn Bitte falsch? Allgemeine Java-Themen 2
M Programmierstill: Bitte testen anhand HTML-Tool Allgemeine Java-Themen 18
M Bitte Testen: Mein Multi-File Editor Allgemeine Java-Themen 30
P Bitte kritisieren: rekursive Sortier-Methode Allgemeine Java-Themen 2
J könnt Ihr mir bitte mal den Fehler erläutern! Allgemeine Java-Themen 5
D Große Klasse - was fällt euch so ins Auge? Kritik bitte! Allgemeine Java-Themen 10
thE_29 Vor dem ersten Posten bitte lesen! Allgemeine Java-Themen 0
K bitte um hilfe bei file import Allgemeine Java-Themen 7
N Compiler (javac) funktioniert nicht... Bitte hilfe! Allgemeine Java-Themen 3
R Wo ist mein Fehler in der Methode DRINGEND Allgemeine Java-Themen 9
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
S Java USB dringend Hilfe! Allgemeine Java-Themen 6
I Dringend nachhilfe in programmieren gesucht!!!!!!!! Allgemeine Java-Themen 1
I Dringend nachhilfe in programmieren in mannheim gesucht!!!!! Allgemeine Java-Themen 3
B Dringend Hilfe gesucht für Struktogramm Allgemeine Java-Themen 11
Q Dringend Hilfe Allgemeine Java-Themen 6
data89 Bilder mit Java prüfen - suche dringend Hilfe Allgemeine Java-Themen 8
N Brauche dringend Hilfe! Allgemeine Java-Themen 7
S brauche dringend help bei einem projekt (Römisch-dezimal) Allgemeine Java-Themen 3
W Dringend: WebService Select Statement aus xml Datei Allgemeine Java-Themen 11
V Brauche dringend Hilfe. Object-handling Allgemeine Java-Themen 4
H Dringend: Jasper Reports - Zusammenfügen von PDFs ? Allgemeine Java-Themen 4
G Text cursorgenau einfügen [ehemals hilfe ... dringend] Allgemeine Java-Themen 7
D wie gliedere ich dieses programm am besten? dringend! Allgemeine Java-Themen 3
T Fehler in code/dringend Allgemeine Java-Themen 6
A Probleme mit CommAPI! Dringend! Allgemeine Java-Themen 5
S Dringend Hilfe benötigt Allgemeine Java-Themen 12
A JAVA-Projekt - suche dringend partner/members Allgemeine Java-Themen 9
S dringend-verzeichnis von festplatte einlesen Allgemeine Java-Themen 9
S Vielleicht OT aber dringend: Java Editor JAMBA gesucht Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben