如何创建一个字符串方法

时间:2013-10-22 10:56:19

标签: java

嗨我想创建一个字符串方法,我必须创建一个返回

的readpassword方法

密码是一个字符串,所以创建所述方法就是这样的

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

我的代码是对吗?

6 个答案:

答案 0 :(得分:3)

public String readpassword(String inputpassword)

使用String代替void

答案 1 :(得分:1)

在方法签名中使用String代替void

public String readpassword(String inputpassword){
  return inputpassword;
}

答案 2 :(得分:1)

您误解了变量inputpassword的{​​{3}}以及您能够将值写回的方式。在main中声明,没有理由将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语句返回其值。要将密码存储到main inputpassword中,请执行s.t.像这样:

String inputpassword = readPassword();

答案 3 :(得分:0)

public String readpassword(String inputpassword){
    return inputpassword;
}

答案 4 :(得分:0)

更新返回类型和参数

方法签名应为

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

答案 5 :(得分:0)

您的函数需要返回一个字符串:

public String readpassword(...){

但是,重要的是不要处理像这样的密码。一个原因是字符串可以进入全局字符串池,这种方法非常容易阅读,因此不安全。

一种方法是改为使用字符数组:

public char[] readpassword(...){

请参阅Why is char[] preferred over String for passwords?