Probleme bei Programmieraufgabe. Mehrdeutigkeit!? NEED HELP

Status
Nicht offen für weitere Antworten.
Hi,
ich hab eine Aufgabe gefunden, die an und für sich relativ einfach ist, aber deren Aufgabenstellung mich grübeln läßt:
http://psc.informatik.uni-jena.de/lehre/ps/aufgws0304/prakIIbl3_ppws0304.pdf

In Aufgabe 1A im letzten Block sollen 2 variablen erzeugt werden. Jedoch heißt es im vorletzen Satz, daß hierzu für die zweite Variable kein Objekt angelegt werden soll. Wie soll ich das anstellen!?? Ideen?

Mein bisheriger Code sieht so aus:
Code:
class MyLearnerClass {
  static int i = 1;
           int j = 2;
  static java.io.PrintWriter out = new java.io.PrintWriter (System.out, true);
  void print () {
    System.out.println (j);
    }

  public static void main (String []args) {
    out.println ("String");
    out.println (123);
    out.println (0x123);
    out.println (0123);
    out.println (3.1415);
    out.println ('$');
    out.println (true);
    
    int k = 3;                // lokale Variable k, nur in main() sichtbar

    MyLearnerClass mlc1 = new MyLearnerClass ();  //mlc1 erzeugen
    MyLearnerClass mlc2 = new MyLearnerClass ();  //mlc2 erzeugen

    out.println (mlc1.toString());
    out.println (out.toString());
    out.println (i);                         // Ausgabe Wert i
    mlc1.print();                            // Ausgabe Wert j mittels print
    out.println (mlc1.j);                    // Ausgabe Wert j normal
    out.println (k);                         // Ausgabe Wert k
    
    out.println (mlc2.i);
    mlc2.print();
    }
                
  }

Wobei ich mich frage, ob das so richtig sein kann!?
Denn falls ich mlc2 nicht erzeuge, dann kommt schon eine Fehlermeldung des Compilers.

Habt Ihr ne Idee, wie das gemeint sein könnte?
Ich bin für jegliche Hilfe dankbar :)

Grüße
Marc
 

René Link

Aktives Mitglied
Hi,

ich bin selbst Student der Informatik an einer FH und ich bin immer wieder
erstaunt darüber, was für blöd gestellte Aufgaben sich manche Profs einfallen lassen.

Naja, zum ersten sehe ich eine Lösung.

Code:
public class Test {
  static int i = 3;
  
  public static void main(String[] args) {
    Test un1 = null;   // nur Variable die eine Referenz auf ein Test-Objekt
                              // aufnehmen kann. Noch keine Instanzierung.
    
    // Das geht und gibt keine NullPointerException, weil du dich ja auf eine Klassenvariable beziehst.
    System.out.println(un1.i);
  }

}


Zu dem Problem mit der print()-Methode...
Da sehe ich keine Möglichkeit, wie du auf eine Instanzmethode ohne Objekt-Referenz zugreifen willst.
Vielleicht meint dein Prof aber auch soetwas.

Code:
          MyLearnerClass mlc1 = new MyLearnerClass ();  //mlc1 erzeugen 
          MyLearnerClass mlc2 = mlc1;  // keine neue Instanz

jetzt kannst du auch über mlc2 die print-Methode aufrufen, ohne für mlc2 eine neue Instanz erzeugt zu haben.

Frag mich aber nicht ob das richtig ist.
Ich finde die Aufgabenstellung etwas verwirrend.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben