Ausgabe in Dos-Box - wo sollen da Exceptions auftreten?

Status
Nicht offen für weitere Antworten.
H

Hans84

Gast
Hallo!
Ich soll/möchte einem Kumpel bei einem seiner Aufgaben helfen, jedoch weiß ich noch nicht wirklich was mit der Aufgabenstellung anzufangen:

3. a) Es ist eine kleine Java-Applikation zu schreiben, die zu vier Zeilen Ausgabe in der DOS-BOX führt:
Protokoll: http
File: /MarkUp/
Host: www.w3.org
URL ext.Form: http://www.w3.org/MarkUp/
Links in jeder Zeile steht bis zum Doppelpunkt erläuternder Text, die Ausgaben rechts davon werden durch Aufruf geeigneter Methoden erzeugt.
b)Man musste in dieser Applikation eine Exception abfangen. Der Code ist geringfügig so zu ändern, dass eine Exception geworfen wird. Was muss geändert werden ?

Hatte erstmal dazu folgenden Code aufgeschrieben:
Code:
public class DosBoxAusgabe {
	private static String protokoll = "http";
	private static String file = "/MarkUp/";
	private static String host = "www.w3.org";
	
	public static void main(String[] args) {
		System.out.println("Protokoll: "+getProtokoll());
		System.out.println("File: "+getFile());
		System.out.println("Host: "+getHost());
		System.out.println("URL ext.Form: "+getAll());
	}
	
	private static String getProtokoll(){return protokoll;}
	private static String getFile(){return file;}
	private static String getHost(){return host;}
	private static String getAll(){return getProtokoll()+"://"+getHost()+getFile();	}
}
Ich habe jedoch keine ahnung, was die mit der Aufgabenstellung b) meinen - habe ich die Aufgabe etwa missverstanden?
 
B

Beni

Gast
Wenn man die Aufgabe so liest, ist deine Lösung 100% korrekt...

... aber vermutlich soll bei "getAll" ein neue URL (ich meine die Klasse "java.net.URL") erzeugt werden (URL hat einen Konstruktor für Protokoll, Datei und Host), und dann soll die Methode "toExternalForm" von "URL" benutzt werden um die letzte Ausgabe zu erzeugen.
 
Hi,
ich glaube du hast die Aufgabe ein wenig falsch verstanden. Also erstmal sind statische Variablen so eine Sache, solltest du ruhig vermeiden (gleiches gilt für statische Methoden). Ist einfach kein guter Stil und hier völlig überflüssig.

Ich kenn jetzt nicht den Wissensstand deines Kumpels, aber ich würde denken dass du den String http://www.w3.org/MarkUp/ so zerlegen sollst, dass du die einzelnen Teile bekommst. Könntest du auch als Argument beim Programmstart mitgeben. Du solltest also schaun, wie man einen String in Token zerlegt (kein Tipp oder so!).
Wie man dann da eine exception wirft (wenn z.B. ein ungültiger String kommt), hm, da kommt ihr drauf.

Gruß Der Unwissende
 
H

Hans84

Gast
Man, dass man Aufgaben immer so missverständlich aufschreiben muss...

@Beni: Okay, das hört sich gut an. Nur Frage ich mich dann immer noch, was mit b) gemeint ist. Die Exception, die da auftreten könnte, wäre ja nur MalformedURLException von URL

@Der_Unwissende: Das Zerlegen könnte ich mir ja sparen, wenn ich mit dem von Beni erwähnten URL arbeite. Das werfen einer Exception ist kein Problem - nur sehe ich nicht, wo ich eine werfen sollte. Wenn ich die MalformedURLException werfe, wem soll die helfen? Wäre da nicht eine Fehlerausgabe auf der Kommandozeile besser, nachdem eine solche Exception aufgetreten ist?
 
B

Beni

Gast
Es ist eine Hausaufgabe, die sind per Definition nicht sinnvoll... :bae:

Vielleicht meint die Aufgabe auch eine Kombination von Der_Unwissende und meiner Interpretation, einfach so nur eine Ausgabe kreieren ist komisch.

Zu b), wenn du da ein try-catch hast, soll das halt in ein "throws" umgewandelt werden :bahnhof:
 
H

Hans84

Gast
Hm, habs nochmal probiert, könntet ihr euch so die Lösung vorstellen?
a)
Code:
import java.net.URL;
import java.net.MalformedURLException;

public class DosBoxAusgabe {
	private URL url;
	
	public DosBoxAusgabe(String surl){
		try {
			url = new URL(surl);
			System.out.println("Protokoll: "+url.getProtocol());
			System.out.println("File: "+url.getFile());
			System.out.println("Host: "+url.getHost());
			System.out.println("URL ext.Form: "+url.toExternalForm());	
		}
		catch(MalformedURLException e){
			System.out.println("Fehler: falsch formatierte URL");
		}
	}
	
	public static void main(String[] args) {
		if (args.length==0)
			new DosBoxAusgabe("http://www.w3.org/MarkUp/");
		else
			new DosBoxAusgabe(args[0]);
	}
}

b)
Code:
import java.net.URL;
import java.net.MalformedURLException;

public class DosBoxAusgabe2  {
	private URL url;
	
	public DosBoxAusgabe2(String surl) throws MalformedURLException {
		url = new URL(surl);
		System.out.println("Protokoll: "+url.getProtocol());
		System.out.println("File: "+url.getFile());
		System.out.println("Host: "+url.getHost());
		System.out.println("URL ext.Form: "+url.toExternalForm());	
	}
	
	public static void main(String[] args) {
		try {
			if (args.length==0)
				new DosBoxAusgabe2("http://www.w3.org/MarkUp/");
			else
				new DosBoxAusgabe2(args[0]);
		} catch(MalformedURLException e){
			System.out.println("Fehler: falsch formatierte URL");
		}
	}
}
 
Also irgendwie fehlt da doch was. Da muss doch irgendwas gerade gelehrt werden. Man gibt doch nicht einfach Aufgaben an Leute raus, die keine Ahnung haben (zumindest werden die ja Java kennen müssen). Also was genau wurde denn schon behandelt? Ich denke mal diese Aufgabe steht doch da sicher in irgendeinem Kontext zu dem was da gerade so gemacht wird.
Wie man jetzt eine Exception wirft und / oder abfängt, dass ist ja nun Geschmackssache. An sich ist es natürlich schöner, dass wenn ein Fehler auftreten kann auch dein Anwendung davon erfährt. Du kannst da zwar schön leicht einen try..catch Block um eine Exception rum setzen, aber dann geht dein Programm ja eigentlich davon aus, dass alles super geklappt hat.
Hier in dem Beispiel ist es natürlich eher unwichtig, aber stell dir einfach vor, du würdest ein vernünftiges Programm schreiben und müsstest mit der zerlegten URL weiter arbeiten. Dann würde die Exception in a abgefangen werden ohne dass du da je merkst und nun ja, Pech gehabt (da freut sich dann dein Kunde).

Und um ein wenig kleinlich zu sein, man gibt die Exception immer gerne auf dem System.err aus, die kannst du auch umleiten (es muss ja nicht immer die Konsole sein). Die Exception kannst du dabei natürlich auch ruhig ausgeben :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Ausgabe Gesamtpreis Java Basics - Anfänger-Themen 39
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
K Array Ausgabe Java Basics - Anfänger-Themen 2
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
C 1x1 Ausgabe auf dem Bildschirm Java Basics - Anfänger-Themen 3
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
H Ausgabe Java Basics - Anfänger-Themen 6
U Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft Java Basics - Anfänger-Themen 3
Jackii ArrayList ausgabe ohne Dopplung Java Basics - Anfänger-Themen 11
F Erste Schritte Subnet Calculator - Ausgabe der NetID und der Broadcast Java Basics - Anfänger-Themen 4
D Wiederholende Ausgabe Java Basics - Anfänger-Themen 3
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
A Datei Ein und Ausgabe FileWriter und printWriter Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben