Ich programmiere in Java. Ich habe jeder Methode Kommentare hinzugefügt, um zu erklären, was sie tun sollen (entsprechend der Aufgabe). Ich habe hinzugefügt, was ich weiß, um den Stub von Password.java
(die ich nach der Untersuchung eines Javadoc von der Schule zur Verfügung gestellt erstellt). Meine Frage bezieht sich nicht auf mehrere Funktionen, ich weiß, dass es in testWord und setWord Fehler gibt, aber ich werde das selbst behandeln. Meine Frage zu dieser Linie ist:Das leere letzte Feld INITIAL wurde möglicherweise nicht initialisiert
public static final java.lang.String INITIAL;
Diese Linie von der Schule zur Verfügung gestellt, so ich muss davon ausgehen, dass es richtig ist, kann ich nicht alle Unterlagen überall über den konstanten Feldwert Anfangs finden, also wenn jemand bieten könnte mir mit Infos dazu wäre das erstaunlich (; zB wie wird umgegangen? was speichert es? wenn überhaupt? tippen?). auch immer Im einen Fehler auf dieser Linie in Eclipse:
Der Rohling letzte Feld INITIAL kann
initialisiert wurde nichtWarum ist dieser Fehler hier? Vielen Dank im Voraus über die Kommentare.
FYI der Code von Password.java:
package ss.week1;
public class Password extends java.lang.Object {
// ------------------ Instance variables ----------------
/**
* The standard initial password.
*/
public static final java.lang.String INITIAL;
// ------------------ Constructor ------------------------
/**
* Constructs a Password with the initial word provided in INITIAL.
*/
public Password() {
}
/**
* Tests if a given string is an acceptable password. Not acceptable: A word
* with less than 6 characters or a word that contains a space.
*
* @param suggestion
* @return true If suggestion is acceptable
*/
// ------------------ Queries --------------------------
public boolean acceptable(java.lang.String suggestion) {
if (suggestion.length() >= 6 && !suggestion.contains(" ")) {
return true;
} else {
return false;
}
}
/**
* Tests if a given word is equal to the current password.
*
* @param test Word that should be tested
* @return true If test is equal to the current password
*/
public boolean testWord(java.lang.String test) {
if (test == INITIAL) {
return true;
} else {
return false;
}
}
/**
* Changes this password.
*
* @param oldpass The current password
* @param newpass The new password
* @return true if oldpass is equal to the current password and that newpass is an acceptable password
*/
public boolean setWord(java.lang.String oldpass, java.lang.String newpass) {
if (testWord(oldpass) && acceptable(newpass)) {
return true;
} else {
return false;
}
}
}
Sie müssen nicht den vollständigen Pfad für Klassen in 'java.lang' eingeben. z.B. 'public static final String INITIAL' ist vollkommen in Ordnung (und bevorzugt). –
so hat es unsere Schule uns gegeben, ich dachte, das sei einfacher, aber hey, was weiß ich;) danke für deinen Kommentar. – Koen