实例讲解——系统登录

一,程序分析

首先使用参数的方式输入用户名和密码,所以,首先要判断输入参数的个数是否合法,如果不合法,则必须提示程序执行不对,并退出。

如果正确输入,则可以进行密码和用户名的验证,如果信息正确则显示“欢迎光临”,否则显示“用户名或密码错误”。

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()) ;        // 取得验证之后的信息
    }
};

总结:

很多初学者会有疑问,明明知识点都看明白了,但就是写不出程序。

拿到程序后,如果确实经验,则可以先把基本功能实现,功能实现之后,再逐步划分,就好比做衣服,不可能拿到布,直接做,

要一步步把各个零件做出来,再组装。

所以,学好程序开发,一定要多动手做,如果只是看,没有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Microsoft Office】Word 2019空格下划线不显示的解决办法

解决办法:点击【文件】→【选项】→【高级】选项卡→勾选【为尾部空格添加下划线(U)】,解决!

1.安装

转自:http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。 所谓"测试框…

SkiaSharp 之 WPF 自绘弹跳球(案例版)

熟悉下SkiaSharp的基础操作,这次搞个弹跳球效果,实现后,发现效果还真不错。大概效果如下:原理分析先是实现了网格效果,这个比较简单,直接横线,竖线,就OK了。另外一个就是随机一个圆形&#xff0…

Windows11 发布更新 Insider Preview Build 22000.100

微软今天凌晨向开发频道中的所有用户发布Windows 11 Insider Preview Build 22000.100! 变化和改进 我们已经开始在 Dev Channel 中将 Chat 从 Microsoft Teams 推广到 Insiders。不是每个人都会马上看到,任务栏右下方的隐藏图标弹出窗口已更新&#x…

常见RGB格式

计算机世界中,最终对于颜色和画面的显示,更多的采用的是RGB模式,这里记录一下常见的RGB格式。任何计算机设备以及智能终端等,呈现在我们眼前的色彩实际上便是红绿蓝三基色不同的组合,RGB实际上就是三基色的组合&#x…

《ASP.NET Core 6框架揭秘》实例演示[04]:自定义依赖注入框架

ASP.NET Core框架建立在一个依赖注入框架之上,已注入的方式消费服务已经成为了ASP.NET Core基本的编程模式。为了使读者能够更好地理解原生的注入框架框架,我按照类似的设计创建了一个简易版本的依赖注入框架,并它命名为“Cat”。本篇提供的四…

【QGIS入门实战精品教程】4.8:QGIS如何下载SRTM数字高程模型DEM?

本文讲解QGIS中下载SRTM数字高程模型DEM,以黑龙江省塔河县为例。 图幅效果: 最终效果: 文章目录 1. 下载安装STRM Download插件2. 加载矢量数据,读取范围3. 下载STRM4. DEM拼接5. DEM裁剪1. 下载安装STRM Download插件 点击【插件】→【管理并安装插件】。 在搜索框中输入…

Win11 恢复设置Win10任务栏、快速启动栏及右键菜单(Win11 22000.100版本测试通过)

恢复方法 按下边路径添加 UndockingDisabled项,DWORD (32-bit)值为1: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell\Update\Packages] "UndockingDisabled"dword:00000001显示效果 已知问题 开始按钮点击无反应&a…

vue vue-router vuex element-ui axios 写一个代理平台的学习笔记(十一)构思商品页面...

在写商品页面product.vue之前,我应该思考一下,商品页面要实现那些功能,该不如布局?要实现的功能 1、所有商品列表的展示2、分类商品的列表展示 3、搜索商品或得列表展示4、单一商品的详细页面5、商品列表分页功能6、还没想到的...…

【ArcGIS Pro微课1000例】0019:ArcGIS Pro从海洋的视角看世界---海洋投影(Spilhaus Projection)

从海洋的视角看世界: 世界地图大多是以陆地为主要载体,如果以海洋为主角,就需要使用一种海洋投影。该投影以Spilhaus博士的名称命名。ArcGIS Pro自2.5版本以来提供了Spilhaus Projection。 投影效果预览: 接下来演示ArcGIS Pro 2.8中海洋投影的转换方法: 1. 新建一个工程…

有人撸了个网页版win11,惊艳!

演示地址:https://win11.blueedge.me/ Github地址:https://github.com/blueedgetechno/windows11

Vue3+.NET6+C#10,最近优质前后端分离项目汇总

据说80%的WEB开发都是管理后台,一套开源的优秀管理后台开发模板堪称福音!分享一套Vue3 Axios TS Vite Element Plus .NET 6 WebAPI JWT SqlSugar的前后端分离架构的通用管理后台源码数据库脚本,还有与之配套录制的一组视频教程,全…

C++ 对象的内 存布局(下)

原文地址:http://blog.csdn.net/haoel/article/details/3081385 (注:看本文的时候由于宿舍快断电了,来不及细看,所以怕自己忘记,先贴出来.不排除文章有错误,大家自己测试一下.) 重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,…

【GIS风暴】一文彻底弄懂数字地形(DEM、DOM、TDOM、DSM)的区别与联系

在2021自然资源部发布的《实景三维中国建设技术大纲(2021版)》中,空间数据部分包括“数字高程模型(DEM)、数字表面模型(DSM)、数字正射影像(DOM)、真正射影像(TDOM)、倾斜摄影三维模型、激光点云等。” 那么到底什么是DEM、DOM、TDOM、DSM,它们之间又有什么用的区别…

什么是“异步 Request-Reply”模式?编程如何实现?

在某些情况下,WEB API 可能需要很长时间来处理请求,而客户端如果一直等待工作完成是不可行的,比如连接超时等。这时,可以使用“异步 Request-Reply 模式”。异步 Request-Reply 模式异步 Request-Reply 模式是指:在后端…

【测绘程序设计】Excel度分秒(° ‘ “)转换度(°)模板附代码超实用版

在实际工作中,无论是ArcGIS中,还是CASS中,作图时需要将GPS实测的经纬度度分秒( ’ ")坐标转换为度(),在前面的文章中介绍了C#中将度分秒转为度的转换程序,本文讲解在Excel中快速度分秒( ’ ")转换度(),提高工作效率。 文章目录 准备工作编写代码注意事…

IO扩展控件(System.IO.Abstractions)

刚看到这个Namespace的时候还以为是.Net Framework里自带的包,结果查了一圈无任何结果。果断上Github搜索,一击即中 https://github.com/tathamoddie/System.IO.Abstractions先翻译下开发者给出的简单说明,今后再慢慢使用类似于System.Web.Ab…

[转]面向对象(1、三大特征;2、六大原则)

目录 一、面向对象的概述: 二、封装: 1、封装概述 2、封装原则 3、封装好处 4、封装坏处 5、封装代码展示 三、继承: 1、概念: 2、实现格式: 3、特点: 4、好处: 5、弊端&#xff1…

【测绘程序设计】C#将度分秒(° ‘ “)转换度(°)程序实现(附源码)

在实际工作中,无论是ArcGIS中,还是CASS中,作图时需要将GPS实测的经纬度度分秒( ’ ")坐标转换为度(),在前面的文章中介绍了Excel中将度分秒转为度的转换程序,本文讲解在Visual Studio中,采用C#语言实现快速度分秒( ’ ")转换度(),提高工作效率。 案例…

Spotlight监控工具使用

Spotlight on unix监控linux服务器 1.下载安装,工具包下载地址: 注:安装之后需要破解注册码 2.由于spotlight不能默认使用root用户登录,所以必须先创建一个具有root权限的用户 注:密码最好不要设置的过于简单化 [rootm…