-1

こんにちは、文字列メソッドを作成したいのですが、返す readpassword メソッドを作成する必要があります

文字列であるパスワードは、記載されたメソッドを作成するためのものです

public void readpassword(String inputpassword) //inputpassword is declared in the main method
{
     (whatever command)
     return inputpassword;
}

私のコードは正しいですか?

4

6 に答える 6

3
public String readpassword(String inputpassword)

Stringの代わりに使用void

于 2013-10-22T10:57:49.220 に答える
2

メソッド署名Stringの代わりに使用します。void

public String readpassword(String inputpassword){
  return inputpassword;
}
于 2013-10-22T10:58:48.803 に答える
1

変数のスコープと、変数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();
于 2013-10-22T11:00:00.250 に答える
0
public String readpassword(String inputpassword){
    return inputpassword;
}
于 2013-10-22T10:59:44.113 に答える
0

戻り値の型とパラメーターを更新する

メソッドのシグネチャは

   public String readpassword() //inputpassword is declared in the main method
    {
    String inputpassword;
  // logic
     return inputpassword;
    }
于 2013-10-22T10:59:48.610 に答える
0

関数は文字列を返す必要があります。

public String readpassword(...){

ただし、このようなパスワードを処理しないことが重要です。その理由の 1 つは、文字列がグローバル文字列プールに入り込む可能性があることです。グローバル文字列プールは驚くほど読みやすく、そのため安全ではありません。

代わりに文字配列を使用する 1 つの方法:

public char[] readpassword(...){

パスワードに String よりも char[] が好まれる理由を参照してください。

于 2013-10-22T11:01:35.437 に答える