您好我想創建一個字符串的方法,我要創建返回如何創建一個字符串的方法
這是一個字符串,以創建描述的方法中是這樣
public void readpassword(String inputpassword) //inputpassword is declared in the main method
{
(whatever command)
return inputpassword;
}
是我的代碼對不對?
您好我想創建一個字符串的方法,我要創建返回如何創建一個字符串的方法
這是一個字符串,以創建描述的方法中是這樣
public void readpassword(String inputpassword) //inputpassword is declared in the main method
{
(whatever command)
return inputpassword;
}
是我的代碼對不對?
使用String
,而不是void
的方法簽名。
public String readpassword(String inputpassword){
return inputpassword;
}
public String readpassword(String inputpassword)
使用String
,而不是void
public String readpassword(String inputpassword){
return inputpassword;
}
更新的返回類型和參數
方法簽名應該是
public String readpassword() //inputpassword is declared in the main method
{
String inputpassword;
// logic
return inputpassword;
}
你曲解變量inputpassword
的scope,你能寫回來的路上值。主要宣佈,沒有理由通過inputpassword
(我認爲這是空的)到您的readpassword()
方法。相反,您應該從方法內部讀取密碼並返回結果。
你最好做這樣的事情:
public static String readPassword()
{
String passwordReadResult;
// read the password from wherever it comes, e.g. console
// ...
return passwordReadResult;
}
更新:
我覺得你的情況,你不想做通inputpassword
您readPassword
方法(有情況這是有道理的,但我不想在這裏添加混淆)。 如果某個方法需要這些數據來處理它,那麼將其傳遞給方法。如果你有外部聲明inputpassword
,那麼它還不包含密碼。因此將它傳遞給readpassword
是沒有意義的,因爲readpassword
不需要一個空密碼變量!它可以從控制檯讀取密碼,但它不需要inputpassword
。如果讀取密碼完成該方法,則通過return
聲明返回值。爲了讓你的密碼保存在inputpassword
的主要你做s.t.像這樣:
String inputpassword = readPassword();
我宣佈inputpassword作爲主要方法中的字符串,所以我不應該在大括號內添加一個該變量?當我想創建一個readpassword方法 – sherrez
你的函數需要返回一個字符串:
public String readpassword(...){
但是,不處理這樣密碼是很重要的。一個原因是字符串可以找到他們的方式進入全球字符串池,這是令人驚訝的容易閱讀,因此,是不安全的。一輪
的一種方法是使用字符數組來代替:
public char[] readpassword(...){
-1?苛刻,不是? – Bathsheba
+1對於我以前從未想過的事情 – LostAvatar
如果你想要回東西,那麼你必須把返回類型的方法簽名。你的方法有'void',它可能應該有'String'。 –