Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

NullAhnung

Erfahrener Schreiberling

  • "NullAhnung" is female
  • "NullAhnung" started this thread

Posts: 332

Date of registration: Apr 28th 2003

1

Tuesday, July 27th 2004, 10:37am

Java Klausur

Im Netz stehen 3 verschiedene Räume für die Klausur. Wie sieht es denn da mit der Einteilung aus?
Und wo sind die Räume III 1 und III K ?

Arne

ThI

  • "Arne" is male

Posts: 1,798

Date of registration: Oct 7th 2002

Location: Hannover :)

Occupation: Lecturer ThI

2

Tuesday, July 27th 2004, 10:40am

III 1 und III K sind im Uni Bereich Bismarckstraße und über die Einteilung wird man vermutlich noch früh genug informiert werden (entweder hier im Forum oder auf deren Website). Sind doch noch mehr als 1 Monat hin :)
"NP - The class of dashed hopes and idle dreams." Complexity Zoo

Uprooter

Junior Schreiberling

  • "Uprooter" is male

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

3

Wednesday, August 18th 2004, 5:28pm

hat einer, der sich in java gut auskennt, vllt ideen für übungsaufgaben zum üben von threads,exceptions und ADT's, denn threads wurden überhaupt nicht geübt und exceptions nicht besonders gut, wie ich finde....wäre super wenn jemand guet einfälle hat oder eine hp kennt wo man sowas finden kann.

This post has been edited 1 times, last edit by "Uprooter" (Aug 18th 2004, 5:28pm)


Arne

ThI

  • "Arne" is male

Posts: 1,798

Date of registration: Oct 7th 2002

Location: Hannover :)

Occupation: Lecturer ThI

4

Wednesday, August 18th 2004, 9:50pm

für Exceptions bietet sich z.B. an Dateien Einzulesen und zu Beschreiben.. da halt irgendwas simples sich selber drumstricken
"NP - The class of dashed hopes and idle dreams." Complexity Zoo

Uprooter

Junior Schreiberling

  • "Uprooter" is male

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

5

Saturday, August 21st 2004, 1:24pm

kann mir vllt jemand erklären wann gecastet werden darf und wann nicht, dh wann es fehlschlägt und wieso?
im skript steht zwar der folgende satz, aber ich versteh den sinn noch so wirklich:• Ein Cast schlägt fehl, wenn der Zieltyp nicht im Vererbungspfad des Objektes vorkommt oder wenn er kein implementiertes Interface ist.

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

6

Saturday, August 21st 2004, 3:15pm

Quoted

Original von Uprooter
kann mir vllt jemand erklären wann gecastet werden darf und wann nicht, dh wann es fehlschlägt und wieso?
im skript steht zwar der folgende satz, aber ich versteh den sinn noch so wirklich:• Ein Cast schlägt fehl, wenn der Zieltyp nicht im Vererbungspfad des Objektes vorkommt oder wenn er kein implementiertes Interface ist.
Der Vererbungspfad einer Klasse ist grob gesagt die Liste aller Superklassen dieser Klasse. Beispiel: Die Klasse HashSet hat die Vererbungshierarchie java.lang.Object -- java.util.AbstractCollection -- java.util.AbstractSet -- java.util.HashSet (siehe http://java.sun.com/j2se/1.4.2/docs/api/…il/HashSet.html, ganz oben).

Vereinfacht gesagt: Man darf eine Instanz der Klasse A nach Klasse bzw. Interface B casten, wenn B in der Vererbungshierarchie von A vorkommt oder B ein Interface ist, das von A implementiert wird.

Hier steht's ganz genau (unbedingt lesen, es gibt noch ein paar kleine Unterschiede zu meiner obigen Erklärung!): http://java.sun.com/docs/books/jls/secon….doc.html#20232
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

This post has been edited 2 times, last edit by "Joachim" (Aug 21st 2004, 3:19pm)


Uprooter

Junior Schreiberling

  • "Uprooter" is male

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

7

Saturday, August 21st 2004, 3:30pm

also darf man zB eine Instanz von Object in alles beliebige casten oder eher in gar nichts, weil object ja die höchste klasse ist?

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

8

Saturday, August 21st 2004, 8:09pm

Quoted

Original von Uprooter
also darf man zB eine Instanz von Object in alles beliebige casten oder eher in gar nichts, weil object ja die höchste klasse ist?


Letzteres ist korrekt, also in gar nichts. Object implementiert ja keine Interfaces und ist von keiner Klasse abgeleitet. (Eine Instanz von Object kann also nur in Object "gecastet" werden.)
tar: Anlegen eines leeren Archivs wird feige verweigert.

This post has been edited 1 times, last edit by "migu" (Aug 21st 2004, 8:42pm)


Uprooter

Junior Schreiberling

  • "Uprooter" is male

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

9

Sunday, August 22nd 2004, 6:11pm

wieso darf ich dann sows tun?:
public int compare(Object a,Object b) {

int m = ((Integer)a).intValue();
int k = ((Integer)b).intValue();
if(m <k) return 1;
else if(m > k) return -1;
return 0;}
}
hier caste ich a in Integer.....und a ist n Object

This post has been edited 1 times, last edit by "Uprooter" (Aug 22nd 2004, 6:12pm)


  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

10

Sunday, August 22nd 2004, 8:01pm

Quoted

Original von Uprooter
also darf man zB eine Instanz von Object in alles beliebige casten oder eher in gar nichts, weil object ja die höchste klasse ist?
Letzteres. Anschauliche Erklärung: Bei jeder Vererbung ist die neu entstandene Klasse ja "spezieller" als die Superklasse. Beispiel String und Object: String ist "spezieller" als Object. Jede String-Instanz ist auch eine Object-Instanz, aber nicht jede Object-Instanz ist auch eine String-Instanz.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

This post has been edited 1 times, last edit by "Joachim" (Aug 22nd 2004, 8:01pm)


DominionMADz

Junior Schreiberling

Posts: 165

Date of registration: Feb 8th 2002

Location: SHG

11

Sunday, August 22nd 2004, 11:52pm

Hi

@Uprooter

In deinem Beispiel wurden an die Methode compare 2 "Integer"-Objekte (gewrappte int's) in Form eines "Object"-Objektes auf Grund der Deklaration der Methode "int compare(Object a , Object b)" übergeben. Im Methodenrumpf werden die "Integer" einfach nur zurückumgewandelt.

mfg

Marco

This post has been edited 1 times, last edit by "DominionMADz" (Aug 22nd 2004, 11:53pm)


  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

12

Monday, August 23rd 2004, 12:25am

Quoted

Original von Uprooter
wieso darf ich dann sows tun?:
public int compare(Object a,Object b) {

int m = ((Integer)a).intValue();
int k = ((Integer)b).intValue();
if(m <k) return 1;
else if(m > k) return -1;
return 0;}
}
hier caste ich a in Integer.....und a ist n Object
Das obige liefert zumindest keinen Fehler bei der Übersetzung. Das ist auch gut so, da zur Laufzeit der Methode compare Objekte a und b übergeben werden können, die man nach Integer casten kann. Es gibt jedoch einen Laufzeitfehler, wenn man die Methode compare mit Argumenten aufruft, die nicht typkombatibel zu Integer sind. Fehler zur Übersetzungs- und Laufzeit sind also zu trennen.

Eine genaue Erklärung dieses Verhaltens steht übrigens in dem Abschnitt aus der Language Specification, zu dem ich oben den Link gepostet habe. Also bitte nochmal genau nachlesen.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

This post has been edited 4 times, last edit by "Joachim" (Aug 23rd 2004, 12:27am)


Flu

Praktikant

  • "Flu" is male

Posts: 26

Date of registration: Oct 9th 2002

13

Monday, August 23rd 2004, 3:23pm

Ich hab nochmal eine ganz andere Frage, warum liefert folgendes Java-Programm den Wert "3.0", anstatt des von mir erwarteten "3.14"?

public class Round
extends java.lang.Object
{
public static void main(String[] args) {
double wert = 3.1415; //ein beliebiger Beispielwert
wert = (Math.round(wert * 100)) / 100;
System.out.println(wert);
}
}

Anm: Math.round(wert * 100) liefert "314".

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

14

Monday, August 23rd 2004, 4:21pm

Quoted

Original von Flu
Ich hab nochmal eine ganz andere Frage, warum liefert folgendes Java-Programm den Wert "3.0", anstatt des von mir erwarteten "3.14"?

public class Round
extends java.lang.Object
{
public static void main(String[] args) {
double wert = 3.1415; //ein beliebiger Beispielwert
wert = (Math.round(wert * 100)) / 100;
System.out.println(wert);
}
}


Im Ausdruck "Math.round(wert * 100.0) / 100" wird implizit nach int gecastet, weil eine Division mit einem int-Literal stattfindet. Schreibst du stattdessen "Math.round(wert * 100) / 100.0", tut es was du wolltest.
tar: Anlegen eines leeren Archivs wird feige verweigert.

This post has been edited 3 times, last edit by "migu" (Aug 23rd 2004, 4:23pm)


Flu

Praktikant

  • "Flu" is male

Posts: 26

Date of registration: Oct 9th 2002

15

Monday, August 23rd 2004, 4:45pm

Danke, für die schnelle Antwort.

Sinan

Senior Schreiberling

  • "Sinan" is male

Posts: 1,021

Date of registration: Jul 5th 2003

Location: Malaga

Occupation: Senior Cloud Solution Engineer bei Oracle

16

Tuesday, August 24th 2004, 10:55pm

Hallo,
Hier könnt ihr meine Java-Zusammenfassung (.doch-Datei 137 KB) runterladen,
wer das Skript schon gelesen hat, braucht das nicht, ist halt alles aus dem Skript, nur sehr wenig was vom Internet hinzugefügt.
Eher habe ich das gedacht für Leute, die noch nicht angefangen haben (aus welchem Grund auch immer) und aus Zeitgründen vielleicht es nicht mehr schaffen würden.
Allerdings ist die Zusammenfassung Objektorientierter Prinzipien (.doch-Datei 28 KB) allen zu empfehlen,
Quellen u. a. Wikipedia
Diese Seite find ich echt Klasse, über 130.000 Artikel über alles Mögliche.

PS: besten Dank an Wladimir Putin, der mir die Links zur Verfügung gestellt hat :) :D
With great power comes great responsibility

Torrero

Senior Schreiberling

  • "Torrero" is male

Posts: 854

Date of registration: Oct 16th 2003

Location: Laatzen

Occupation: Angewandte Informatik

17

Thursday, August 26th 2004, 1:26am

Ich hab mir mal diese Übungsklausur reingezogen, kann es sein, dass es größtenteils um Java-Theorie geht, statt um das Erstellen von Programmen selbst ?

Informatik Minister

Senior Schreiberling

  • "Informatik Minister" is male

Posts: 1,234

Date of registration: Dec 11th 2001

18

Thursday, August 26th 2004, 9:24am

Quoted

Original von Torrero
Ich hab mir mal diese Übungsklausur reingezogen, kann es sein, dass es größtenteils um Java-Theorie geht, statt um das Erstellen von Programmen selbst ?


Könnte. Vielleicht weiss das Niklas Peinecke besser. Von ihm stammen immerhin Zitate wie:

"Die Klausur wird zu etwa 50% theoretische Fragen und zu 50% Programmierfragen behandeln. 'Programmieren auf Papier' wird es schon sein (allein aufgrund der Teilnehmerzahl), aber das hält sich in kleinem Rahmen, eher in dem Stil: 'Schreiben Sie eine Methode, die dies und das tut.' (keine kompletten Klassen) Die theoretischen Fragen werden alle Aspekte der Vorlesung behandeln, also auch Patterns und Frameworks, aber auch OO-Prinzipien usw."

Also einfach mal nachfragen.
"Fliegenpilze! Löwen!! Das Leben ist gefährlich." -- www.katzundgoldt.de

This post has been edited 1 times, last edit by "Informatik Minister" (Aug 26th 2004, 9:26am)


Uprooter

Junior Schreiberling

  • "Uprooter" is male

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

19

Thursday, August 26th 2004, 5:46pm

ich hab mal ne frage zu exceptions:
wenn man in einer methode eine oder mehrere exceptiosn auswerfen will, muss man dann im methoden-kopf zuerst "trows bestimmte-Exception{
//irgendwelche anweisungen
if(bedingung) trow bestimmte-Exception;
//weitere Anweisungen
}
oder kann man das mit throws ruhig weglassen und einfach an einer bestimmten stelle eine exception auswerfen?

Arne

ThI

  • "Arne" is male

Posts: 1,798

Date of registration: Oct 7th 2002

Location: Hannover :)

Occupation: Lecturer ThI

20

Thursday, August 26th 2004, 6:06pm

Man muss schon das throws new blablaException() schreiben. Man kann pro Fehler auch immer nur eine Exception _gleichzeitig_ schmeißen.
Das Beispiel ausm Skript von Seite 278 + 279 triffts schon perfekt.
Nochmal zusammengefasst:
- an Methodenkopfende "throws BlablaException" schreiben, wenns mehrere sind mit "," abtrennen
- an der Stelle, wo die Exception geworfen werden soll "throw new BlablaException()" schreiben
"Blabla" ist natürlich immer gescheit zu ersetzen ;)
"NP - The class of dashed hopes and idle dreams." Complexity Zoo