Sto programmando in Java. Ho aggiunto commenti ad ogni metodo per spiegare cosa dovrebbero fare (in base al compito). Ho aggiunto quello che so allo stub di Password.java
(che ho creato dopo aver ricercato un javadoc fornito dalla scuola). La mia domanda non riguarda diverse funzioni, so che ci sono errori in testWord e setWord, ma me ne occuperò io stesso. La mia domanda è su questa linea:Il campo finale vuoto INITIAL potrebbe non essere stato inizializzato
public static final java.lang.String INITIAL;
Questa linea è fornito dalla scuola, così io devo supporre che sia corretto, non posso trovare alcuna documentazione ovunque sulla costante INIZIALE valore del campo, quindi se qualcuno potrebbe fornire me con informazioni su quello che sarebbe fantastico (ad esempio come viene gestito? cosa memorizza? se qualcosa? tipo?). anche Im ottenendo un errore su questa linea in Eclipse:
l'iniziale campo finale vuoto potrebbe non essere stata inizializzata
Perché questo errore qui? Grazie in anticipo per i commenti.
FYI il codice 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;
}
}
}
Non è necessario digitare il percorso completo per le classi in 'java.lang'. per esempio. 'String finale statico pubblico INITIAL' è perfettamente a posto (e preferito). –
ecco come la nostra scuola ci ha dato, ho pensato che fosse più facile ma hey, cosa ne so;) grazie per il tuo commento. – Koen