用户输入密码三次无效时引发一个自定义异常,并提示系统可能有黑客攻击,并对其进行捕获处理。
这是我编写的代码
:
package cn.com.thinkbank;
public class MyException extends Exception{
public MyException(String s )
{
super(s);
}
}
package cn.com.thinkbank;
import java.util.*;
public class UserInput {
public void userInput() throws Exception , MyException
{
int Input = 666;
System.out.println( "请输入密码 ");
for(int nA = 0 ;nA <= 2 ;nA++)
{
Scanner in = new Scanner(System.in);
int input = in.nextInt();
if(nA == 2)
{
System.out.println( "密码错误!(您所输入的密码超过次数) ");
throw new MyException( "系统有黑客攻击 ");
}
if(Input != input)
{
System.out.println( "密码错误,请重新输入 ");
continue;
}
else
{
System.out.println( "登陆成功 ");
break;
}
}
}
public static void main(String[] args) throws MyException
{
UserInput input = new UserInput();
try {
input.userInput();
} catch (MyException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
------解决方法--------------------------------------------------------
不是挺错功的吗?在这里加一点打印就好了!
try {
input.userInput();
} catch (MyException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
//+++++++++++++++++++++++
System.out.println(e.getMessage());
}
------解决方法--------------------------------------------------------
if(nA == 2)
{
System.out.println( "密码错误!(您所输入的密码超过次数) ");
throw new MyException( "系统有黑客攻击 ");
}
===========================================================
才让用户输入两次就抛了阿
------解决方法--------------------------------------------------------
建议你定义一个变量来专门记录密码输错的次数,而不是用循环变量来判断,那样会使得代码更清楚。
------解决方法--------------------------------------------------------
如果用户第三次输入,不管输入对不对都会出现 '密码错误!(您所输入的密码超过次数) " 提示吗?
------解决方法--------------------------------------------------------
package cn.com.thinkbank;
public class MyException extends Exception{
public MyException(String s )
{
super(s);
}
}
package cn.com.thinkbank;
import java.util.*;
public class UserInput {
public void userInput() throws Exception , MyException
{
int Input = 666;
System.out.println( "请输入密码 ");