変数のスコープと、変数inputpassword
に値を書き戻す方法を誤解しています。メインで宣言されているため、メソッドに渡す理由はありません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
には、次のようにします。
String inputpassword = readPassword();