Methoden Klassen Definition - Methodenaufruf

Status
Nicht offen für weitere Antworten.

s3ba

Neues Mitglied
Hallo,
ich habe eine Klasse Login. Darin befindet sich eine Methode "addLoginDefinition"
die folgendermaßen beschrieben ist:

public void addLoginDefinition(LoginDefinition definition)
Adds a login definition.
Parameters:
definition - Login definition


Constructor Detail

LoginDefinition
public LoginDefinition(UC4HostName host,
java.lang.String hostTyp,
java.lang.String loginInfo)
Constructs a new LoginDefinition using the specified values.
Parameters:
host - Host name, use an empty UC4HostName to add the login definition for all host of this host type
hostTyp - Host type
loginInfo - Login information



Mein Problem,
ich hab schon länger kein Java gemacht und so ziemlich alles vergessen.
könnt ihr mir etwas auf die Sprünge helfen. Wie muss ich da ran gehen wenn ich z.B. bei der LoginDefinition einen Wert hinterlegen will.

setLoginInfo
public void setLoginInfo(java.lang.String loginInfo)
Sets the login information
Parameters:
loginInfo - Login information


Schon mal vorab danke.
 
Du musst der Methode ein Objekt der Klasse LoginInfo ǘbergeben:

Java:
UC4HostName host = ...;
String hostTyp = ...;
String loginInfo = ...;
LoginInfo login = new LoginInfo(host, hostTyp, loginInfo);

...addLoginDefinition(login);
 
Möchte mit der get-Funktion auf das zugewiesene in der Methode "addFeature" zugreifen, nun in der Methode "addFeature" geht dies, aber in einer anderen Methode nicht bzw. es steht nichts drinnen. Bekomm folgende Fehlermeldung: NullPointerException



Java:
 public boolean addFeature(Feature newfeature)
     {
       choice="Hi";
      
       for(count=0;count<(features.length-1)&&!choice.equals("");count++) 
       {    
        System.out.println("Please enter a feature (name=description) or hit enter to return");
        choice=Input.readString();
        String[] split=choice.split("=");
        System.out.println(choice);
        
            if(!choice.equals(""))
            {
             System.out.println(split[0]);
             System.out.println(split[1]);
             Feature feat=new Feature(split[0],split[1]);
             features[0]=feat;
            }
        
       } 
      
      return true;
     }        
     
     public String printFeatures()
     {
     
      return features[0].getDescription();
     }     


public class Feature {
    
    String cpu, os, resolution, storage, weight, description, name;
    
    
    public Feature(String name, String description)
     {
       this.name=name;
       this.description=description;
     }
    
         
     String getDescription()
     {
       return description;
     } 
      
     String getName()
     {
       return name;
     }
}
 
Du versuchst, einem nackten Mann in die Tasche zu greifen: NullPointerException heißt, dass in einer Variable "nichts" (null) drinsteht, man aber trotzdem versucht, darauf zuzugreifen. Man muss erst einmal irgendwie eine Instanz erzeugen (etwa mit new), dann kann man damit auch etwas machen.
 
Du versuchst, einem nackten Mann in die Tasche zu greifen: NullPointerException heißt, dass in einer Variable "nichts" (null) drinsteht, man aber trotzdem versucht, darauf zuzugreifen. Man muss erst einmal irgendwie eine Instanz erzeugen (etwa mit new), dann kann man damit auch etwas machen.

Eine Instanz wird ja erzeugt in der "addFeature" - Methode.

Zuerst wird nämlich die Methode "addFeature" und dann erst die Methode "printFeatures" ausgeführt.

..
 
> Hat jemand eine Idee?
fragst du gestern nach 10 Min? zu nachtschlafender Zeit, wo du bis 9.00 früh am nächsten Morgen eh nicht mit Antworten rechnen musst?

und in einem fremden Thema, wohlbemerkt, was hat deine Frage mit dem vorherigen zu tun?
'String split' war zuletzt ja noch relativ speziell, 'Klassen und Methoden' hat aber praktisch jeder zum Thema,

hier geschlossen, bitte eigenes Thema aufmachen wenn nötig

-------

so lange zum Nachdenken:
ob addFeature() was macht hängt von verschiedenen Dingen ab, die Länge des unbekannten feature-Arrays,
unbekannte Benutzereingaben,

der Parameter newfeature wird ignoriert? falls doch features erstellt werden landen alle in features[0]?

erstelle besser ein vollständiges Testprogramm, damit man sehen kann an welchen Objekten welche Methoden in welcher Reihenfolge aufgerufen werden,
auf Benutzereingaben besser verzichten, evtl. simulieren, irgendwo Liste von Strings ablegen, der Reihe nach verwenden
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben