一,程序分析
首先使用参数的方式输入用户名和密码,所以,首先要判断输入参数的个数是否合法,如果不合法,则必须提示程序执行不对,并退出。
如果正确输入,则可以进行密码和用户名的验证,如果信息正确则显示“欢迎光临”,否则显示“用户名或密码错误”。
public class LoginDemo01{public static void main(String args[]){if(args.length!=2){ // 应该判断输入的参数个数是否是2,args[]数组是在启动程序的时候输入。System.out.println("输入的参数不正确,系统退出!") ; // 给出一个正确的格式System.out.println("格式:java LoginDemo01 用户名 密码") ;System.exit(1) ; // 系统退出 }String name = args[0] ; // 取出用户名String password = args[1] ; // 取出密码if(name.equals("lixinghua")&&password.equals("mldn")){ // 验证System.out.println("欢迎" + name + "光临!") ;}else{System.out.println("错误的用户名和密码!") ;}} };
登录的思考:
以刷卡程序为例:
之前的程序应该进一步划分:
1)需要一个专门完成验证的类。
2)需要为验证进行一个包装,通过一个类去访问验证的类。
class Check{ // 完成具体的验证操作public boolean validate(String name,String password){if(name.equals("lixinghua")&&password.equals("mldn")){ // 验证return true ;}else{return false ;}} }; class Operate{ // 本类只是调用具体的验证的操作private String info[] ; // 定义一个数组属性,用于接收全部输入参数public Operate(String info[]){this.info = info ; // 通过构造方法取得全部的输入参数 }public String login(){Check check = new Check() ; // 实例化Check对象,用于检查信息this.isExit() ; // 判断输入的参数是否正确String str = null ; // 用于返回信息String name = this.info[0] ;// 取出姓名String password = this.info[1] ; // 取出密码if(check.validate(name,password)){ // 登陆验证str = "欢迎" + name + "光临!" ;}else{str = "错误的用户名和密码!" ;}return str ;}public void isExit(){ // 判断参数个数,来决定是否退出程序if(this.info.length!=2){System.out.println("输入的参数不正确,系统退出!") ; // 给出一个正确的格式System.out.println("格式:java LoginDemo02 用户名 密码") ;System.exit(1) ; // 系统退出 }} }; public class LoginDemo02{public static void main(String args[]){Operate oper = new Operate(args) ; // 实例化操作类的对象System.out.println(oper.login()) ; // 取得验证之后的信息 } };
总结:
很多初学者会有疑问,明明知识点都看明白了,但就是写不出程序。
拿到程序后,如果确实经验,则可以先把基本功能实现,功能实现之后,再逐步划分,就好比做衣服,不可能拿到布,直接做,
要一步步把各个零件做出来,再组装。
所以,学好程序开发,一定要多动手做,如果只是看,没有用。