Day_09【常用API】扩展案例1_程序中使用一个长度为3的对象数组,存储用户的登录名和密码……
需求说明:实现用户注册、登陆功能;
1.程序中使用一个长度为3的**对象数组**,存储用户的登录名和密码:
例如如下格式:
登录名 密码 生日 爱好
zhangsan 1111 1998-03-15 旅游,唱歌
lisi 2222 2002-05-20 吃饭,睡觉,打豆豆
wangwu 3333 2001-07-28 看书,看电影,旅游
注册时,要判断数组是否已满,是:则禁止注册。 2.**循环**为用户列出菜单:
①注册 ②登陆 ③退出 3.用户选择①,调用:registe()方法,执行注册流程;
用户选择②,调用:login()方法,执行登录流程;
用户选择③,结束程序; 4.编写方法:**registe()**,执行注册流程:
要求用户输入以下信息(信息无需校验):
用户名:
登录密码:
出生日期:
爱好:(多个爱好中间用逗号(中英文都可以)隔开) 5.编写方法:**login()**,执行登陆流程:
请用户输入登录名、登陆密码;
使用登录名和密码进行验证;
通过:打印:这个用户的所有信息;
未通过:打印:用户名或密码错误!
package com.itheima;
//用户信息类
public class User {
private String username;
private String password;
private String birthday;
private String hobby;
public User() {}
public User(String username,String password,String birthday,String hobby) {
this.username = username;
this.password = password;
this.birthday = birthday;
this.hobby = hobby;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
package com.itheima;
import java.util.Scanner;
public class Test1 {
// 定义一个存储用户登录名和密码,长度为3的对象数组
private static User[] userArray = new User[3]; // 没讲过
private static int index = 0; // 没讲过
public static void main(String[] args) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("1.注册" + "\t" + "2.登录" + "\t" + "3.退出");
int select = sc.nextInt();
switch (select) {
case 1:
registe();
break;
case 2:
login();
break;
case 3:
System.out.println("感谢使用,再见");
System.exit(0);
default:
break;
}
}
}
// 注册方法
public static void registe() {
// 先验证用户是否已满
if (index >= userArray.length) {
System.out.println("用户已满,禁止注册");
return; // 不太明白为什么不能用else
}
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的用户名:");
String userName = sc.nextLine();
System.out.println("请输入您的登录密码:");
String password = sc.nextLine();
System.out.println("请输入您的生日:");
String birthday = sc.nextLine();
System.out.println("请输入您的爱好(多个爱好中间用逗号隔开):");
String hobby = sc.nextLine();
// 将数据输入到数组
User user = new User(userName, password, birthday, hobby);
userArray[index] = user; // 不太明白
// 将索引增加1,以便下一次储存
index++; // 不太明白
System.out.println("注册成功");
}
// 登录方法
public static void login() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的用户名:");
String userName = sc.nextLine();
System.out.println("请输入您的密码");
String password = sc.nextLine();
// 使用登录名和密码进行验证
for (int x = 0; x < userArray.length; x++) {
if (userName.equals(userArray[x].getUsername()) && password.equals(userArray[x].getPassword())) {
System.out.println("登录成功,以下是您的个人信息");
System.out.println("用户名:" + userArray[x].getUsername() + "\t" + "密码:" + userArray[x].getPassword()
+ "\t" + "生日:" + userArray[x].getBirthday() + "\t" + "爱好" + userArray[x].getHobby());
return; //同上
}
}
System.out.println("用户名或密码错误!");
}
}
控制台输出内容

Day_09【常用API】扩展案例1_程序中使用一个长度为3的对象数组,存储用户的登录名和密码……的更多相关文章
- Day_12【集合】扩展案例1_利用集合的知识对长度为10的int数组进行去重,产生新数组,不能改变数组中原来数字的大小顺序
分析以下需求,并用代码实现 1.定义一个长度为10的int数组,并存入10个int类型的数据,其中有一些数据是重复的 2.利用集合的知识对数组进行去重,产生新数组,不能改变数组中原来数字的大小顺序 3 ...
- Day_11【集合】扩展案例1_遍历打印学生信息,获取学生成绩的最高分,获取成绩最高的学员,获取学生成绩的平均值,获取不及格的学员数量
分析以下需求,并用代码实现: 1.按照以下描述完成类的定义 学生类 属性: 姓名name 年龄age 成绩score 行为: 吃饭eat() study(String content)(content ...
- 对类HelloWorld程序中添加一个MessageBox弹窗
对类HelloWorld程序中添加一个MessageBox弹窗 分析: 任一程序运行的时候都会加载kernel32.dll的,但MessageBoxA()这个API却是在user32.dll中的.所以 ...
- 如何在RCP程序中添加一个banner栏
前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力.以前有个客户提出要在RCP程序中添加一个bann ...
- 4.写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能: 1)输出字符串的长度。 2)输出字符串中第一个出现字母a的位置。 3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。 4)将字符串“hello”替换为“me”,输出新字符串。 5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。 */
namespace test4 {/* 4.写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能: 1)输出字符串的长度. 2)输出字符串中第一个出现字母a的位置. 3)在字符串的第3个字符 ...
- 安卓WebView的使用,在应用程序中嵌入一个浏览器,轻松地展示各种各样的网页
WebView 在应用程序中嵌入一个浏览器,轻松地展示各种各样的网页. 1.定义一个WebView位置 <?xml version="1.0" encoding=" ...
- java—数组乘积输入: 一个长度为n的整数数组input 输出: 一个长度为n的数组result,满足result[i] = input数组中,除了input[i] 之外的所有数的乘积,不用考虑溢出例如 input {2, 3, 4, 5} output: {60, 40, 30, 24}
/** * 小米关于小米笔试题 数组乘积输入: 一个长度为n的整数数组input 输出: 一个长度为n的数组result,满足result[i] = * input数组中,除了input[i] 之外的 ...
- (未使用AOP)使用ThreadLocal对象把Connection和当前线程绑定, 从而使一个线程中只有一个能控制事务的对象
每个连接都有自己的独立事务,会造成数据的不一致 这组操作应该要么一起操作成功,要么一起操作失败, 应该使用同一个连接,只有一个能控制事务的对象 需要使用ThreadLocal对象把Connection ...
- Day_13【IO流】扩展案例1_读取项目文件内容并去重
分析以下需求,并用代码实现: 需求: 读取当前项目下的info1.txt 文件内容如下 : aaaaaaaaaaabbbbbbbbbbbbccdefg 要求将数据去重后写回最终效果 : fgdebca ...
随机推荐
- JUC并发编程基石AQS源码之结构篇
前言 AQS(AbstractQueuedSynchronizer)算是JUC包中最重要的一个类了,如果你想了解JUC提供的并发编程工具类的代码逻辑,这个类绝对是你绕不过的.我相信如果你是第一次看AQ ...
- python高级特性之封包与解包
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:kwsy PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...
- 爬虫的新手使用教程(python代理IP)
前言 Python爬虫要经历爬虫.爬虫被限制.爬虫反限制的过程.当然后续还要网页爬虫限制优化,爬虫再反限制的一系列道高一尺魔高一丈的过程.爬虫的初级阶段,添加headers和ip代理可以解决很多问题. ...
- L23模型微调fine tuning
resnet185352 链接:https://pan.baidu.com/s/1EZs9XVUjUf1MzaKYbJlcSA 提取码:axd1 9.2 微调 在前面的一些章节中,我们介绍了如何在只有 ...
- Daily Scrum 1/6/2015
Process: Zhaoyang: Complete the speech API test and do some UI upgrade. Yandong: Help zhaoyang to do ...
- G. 大树的水塘
已知每块石头中的规格是1×1×1,水塘的长度为N,宽度为1,在第i位置,大树放了ai个石头 设大树建造的水塘蓄水量为V 请你求出在长度和宽度不变的情况下,建造一个蓄水量不小于V的水塘最多可以节约多少石 ...
- PHP修改脚本最大执行时间和最大内存限制
PHP设置脚本最大执行时间的三种方法 1.在php.ini里面设置 max_execution_time = 120; 2.通过PHP的ini_set函数设置 ini_set("max_ex ...
- 关于JS垃圾回收机制
一.垃圾回收机制的必要性 由于字符串.对象和数组没有固定大小,所以当它们的大小已知时,才能对它们进行动态的存储分配.JavaScript程序每次创建字符串.数组或对象时,解释器都必须分配内存来存储那个 ...
- 解决报错:JPA-style positional param was not an integral ordinal;
org.hibernate.QueryException: JPA-style positional param was not an integral ordinal; nested excepti ...
- 用 Python 黄图批量鉴别审核
前言 最近写了一款微信小程序需要用到图片审核,人工审核是不可能的人工审核的太费精力了,所以我就写了一个多线程批量识别脚本来处理,主要是调用百度AI的接口,这里我是付费了也不贵审核一条1分钱不到,再说我 ...