【发布时间】:2014-12-15 21:11:16
【问题描述】:
我正在为我正在进行的项目寻求帮助。我对java比较陌生,正在努力制作一个生成密码的函数。这可能有很多错误,或者这可能是完全错误的,所以请对新手好点>.
import java.util.Random;
public class StillTesting {
public static void main(String[] args) {
System.out.println("Your new password is: " + generateValidPassword());
}
static private String generateValidPassword() {
String numcase = "";
String lowcase = "";
String upcase = "";
String halfpass = numcase.concat(upcase);
String returnString = halfpass.concat(lowcase);
System.out.print(returnString);
Random r = new Random();
String loweralphabet = "abcdefghijklmnopqrstuvwxyz";
int n = loweralphabet.length();
String upperalphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int N = upperalphabet.length();
int num = 0;
for (int i = 0; i < 3; i++) {
num = r.nextInt(9);
numcase = String.valueOf(num = r.nextInt(9));
return numcase;
}
for (int i = 0; i < 3; i++) {
lowcase = String.valueOf(loweralphabet.charAt(r.nextInt(n)));
return lowcase;
}
for (int i = 0; i < 3; i++) {
upcase = String.valueOf(upperalphabet.charAt(r.nextInt(N)));
return upcase;
}
return returnString;
}
}
【问题讨论】:
-
这段代码不起作用吗?你有什么问题?
-
当我运行代码时它只吐出 1 个数字。就是这样。
-
预期的输出应该是什么?
-
问题是你在你的 for 循环中返回。它将返回第一次迭代并且只返回一个值。
-
您在第一个循环内的函数中
returning,因此此时将放弃任何进一步的执行。