无法访问public static final String

时间:2016-10-11 12:55:39

标签: java object access

你好,我是Java新手。我在public static void main中访问创建的ID和密码时遇到问题。如果你能帮助我,我会很高兴的。这是我第一次想在项目中使用不同的对象。

public class Nonfettcalc  {   

        public static final String createID(int length){
            String allowedChars = "0123456789abcdefghijklmnopqrstuvwABCDEFGHIJKLMNOP";
            SecureRandom random = new SecureRandom();
            StringBuilder ID = new StringBuilder(length);
            for (int i = 0; i < length; i++) {
                ID.append(allowedChars.charAt(random.nextInt(allowedChars.length())));
            }
            return ID.toString();
        }

        public static String createPassword(int length){
            String allowedChars = "0123456789abcdefghijklmnopqrstuvwABCDEFGHIJKLMNOP!§$%&?*+#";
            SecureRandom random = new SecureRandom();
            StringBuilder pass = new StringBuilder(length);
            for (int i = 0; i < length; i++) {
                pass.append(allowedChars.charAt(random.nextInt(allowedChars.length())));
            }

            System.out.println(pass);
            return pass.toString();
        }

        public static void main (String[] args){        
            pass = ID;
            ID = pass;

            createPassword = createID;
            createID = createPassword;
        }       
    }

2 个答案:

答案 0 :(得分:1)

这里没有任何理由将您的方法声明为最终方法。这也不是问题。

您需要声明您的变量并调用您的方法。

    public static void main (String[] args){        
        String ID = createID(7);
        String pass = createPassword(10);
    }     

答案 1 :(得分:1)

主方法中的代码完全不合适。首先,您应该定义变量及其类型。

例如:

public static void main (String[] args){        
    String id = createID(5);
    String password = createPassword(8);
}

然后你可以通过这些变量使用你的id和电子邮件。