首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

3、用控制台界面模拟用户登录,当用户输入密码三次无效时,引发一个自定义错误,并提示系统可能有黑客攻击,并对其进行捕获处理

2011-12-11 
3、用控制台界面模拟用户登录,当用户输入密码三次无效时,引发一个自定义异常,并提示系统可能有黑客攻击,并

3、用控制台界面模拟用户登录,当用户输入密码三次无效时,引发一个自定义异常,并提示系统可能有黑客攻击,并对其进行捕获处理。
这是我编写的代码
:
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();
}
}
      }




[解决办法]
本人编写的这段代码扑获不成功,望高手给予指点 小弟在这里十分感谢!!!!1
[解决办法]
不是挺错功的吗?在这里加一点打印就好了!
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( "请输入密码 ");
for(int nA = 0 ;nA <= 2 ;nA++)
{
Scanner in = new Scanner(System.in);
int input = in.nextInt();

if(Input != input)
{

if(nA == 2)
{
System.out.println( "密码错误!(您所输入的密码超过次数) ");
throw new MyException( "系统有黑客攻击 ");

}
else
{
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();
}
}
}


[解决办法]
9494
static int time=0;
[解决办法]
KimmKing(秦风意动(NAF Framework--代替Web Service))

============================
正解

已经测试通过

可以放心大胆的去用了


热点排行
Bad Request.