嗨我想创建一个字符串方法,我必须创建一个返回
的readpassword方法密码是一个字符串,所以创建所述方法就是这样的
public void readpassword(String inputpassword) //inputpassword is declared in the main method
{
(whatever command)
return inputpassword;
}
我的代码是对吗?
答案 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(...){