java – 线程“main”StackoverFlow错误中的异常
发布时间:2020-12-15 08:49:54 所属栏目:Java 来源:网络整理
导读:我正在编写一个程序来验证密码是否符合相应的要求.我已经编写了所有代码,我觉得它应该可以工作,但是我收到以下错误: Exception in thread "main" java.lang.StackOverflowErrorat java.lang.String.length(String.java:623)at PasswordVerifier.isValid(Pas
我正在编写一个程序来验证密码是否符合相应的要求.我已经编写了所有代码,我觉得它应该可以工作,但是我收到以下错误:
Exception in thread "main" java.lang.StackOverflowError at java.lang.String.length(String.java:623) at PasswordVerifier.isValid(PasswordVerifier.java:5) at PasswordVerifier.isValid(PasswordVerifier.java:6) 然后它会重复错误的最后一行很长一段时间.我一直在环顾四周,似乎无法弄清楚我的问题.我知道有些东西在不断地循环,我不想这样,但修复不在我身上.这是我的代码 public class PasswordVerifier{ private static int MIN_PASSWORD_LENGTH = 6; public static boolean isValid(String str){ if (str.length() >= MIN_PASSWORD_LENGTH){ if (PasswordVerifier.isValid(str) == true){ if (PasswordVerifier.hasUpperCase(str) == true){ if (PasswordVerifier.hasLowerCase(str) == true){ if (PasswordVerifier.hasDigit(str) == true){ return true; } } } } } return false; } private static boolean hasUpperCase(String str){ for (char c : str.toCharArray()){ if (Character.isUpperCase(c)){ return true; } } return false; } private static boolean hasLowerCase(String str){ for (char c : str.toCharArray()){ if (Character.isLowerCase(c)){ return true; } } return false; } private static boolean hasDigit(String str){ for (char c : str.toCharArray()){ if (Character.isDigit(c)){ return true; } } return false; } } 任何帮助,将不胜感激! 解决方法public static boolean isValid(String str){ // ... if (PasswordVerifier.isValid(str) == true){ // ... } // ... } 你从内部调用isValid(String),这导致无限循环递归. 我会猜测一下,然后说这就是你想要的: public static boolean isValid(String str){ if (str.length() >= MIN_PASSWORD_LENGTH){ // Removed call to .isValid(String) if (PasswordVerifier.hasUpperCase(str)){ if (PasswordVerifier.hasLowerCase(str)){ if (PasswordVerifier.hasDigit(str)){ return true; } } } } return false; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 当我需要转义Html字符串?
- Java Web实现使用浏览器从服务器下载文件(后台)
- ”””是一个很好的方法来转换一个整数到字符串在Java中?
- java – 使用EJBContext getContextData – 这是安全吗?
- 在java中访问继承的类变量
- 理解java多线程中ExecutorService使用
- 由于java.io.NotSerializableException:org.apache.spark.
- 如何在java 8中将List转换为Map,.map函数在链中
- Java声明和抛出异常:throws声明异常、throw抛出异常、thro
- 字符在Java中是否具有内在的int值?