Java 有没有关于加快执行这项计划的想法

Java 有没有关于加快执行这项计划的想法,java,performance,Java,Performance,记录在案,这不是我的代码找到了一个测试它,花了很长时间才完成。 第一个字母需要很长时间才能到达字母表中较低的字母。 如有任何想法,我们将不胜感激 public class BruteForce { public static void main (String[] args) { System.out.println ("write your password (5 character only)"); String password = TextIO.getlnStri

记录在案,这不是我的代码找到了一个测试它,花了很长时间才完成。 第一个字母需要很长时间才能到达字母表中较低的字母。 如有任何想法,我们将不胜感激

public class BruteForce {

  public static void main (String[] args) {

    System.out.println ("write your password (5 character only)");
    String password = TextIO.getlnString ();
    String word = "";

    char letters[] = new char [5];
    letters [0] = 'a';
    letters [1] = 'a';
    letters [2] = 'a'; //starts all the 5 letters with 'a'
    letters [3] = 'a';
    letters [4] = 'a';

    while (word != password) {
     //This seems like it would stop the program, but it's telling me that the variable(word) hasn't been initialized

        for (letters [0] = 'a' ; letters [0] <= 'y' ; letters [0]++) {
            word = new String (letters);
            System.out.println (word);

            for (letters [1] = 'a' ; letters [1] <= 'y' ; letters [1]++) {
                word = new String (letters);
                System.out.println (word);

                for (letters [2] = 'a' ; letters [2] <= 'y' ; letters [2]++) {
                    word = new String (letters); //nested for loops
                    System.out.println (word);

                    for (letters [3] = 'a' ; letters [3] <= 'y' ; letters [3]++) {
                        word = new String (letters);
                        System.out.println (word);

                        for (letters [4] = 'a' ; letters [4] <= 'y' ; letters [4]++) {
                            word = new String (letters);
                            System.out.println (word);
                        }
                    }
                }
            }
        }
    }
  }
}

我建议你尝试一下

StringBuilder sb = new StringBuilder();
loop: for (char i = 'a'; i <= 'z'; i++) {
    for (char j = 'a'; j <= 'z'; j++) {
        for (char k = 'a'; k <= 'z'; k++) {
            for (char l = 'a'; l <= 'z'; l++) {
                for (char m = 'a'; m <= 'z'; m++) {
                    sb.append(i).append(j).append(k).append(l).append(m);
                    System.out.println(sb.toString());
                    if (sb.toString().equals(password)) {
                        break loop;
                    }
                    sb.setLength(0);
                }
            }
        }
    }
}
而单词!=密码-您不能将字符串与==;使用str1.equalsstr2