1、注册功能

(1)界面:

注册页面==
请输入用户名:
请输入密码:

(2)验证

要求:用户名必须是6-18个字符,且全是字母;密码必须6位,且全是数字。
如果满足要求,使用map存储起来;否则提示注册失败和失败原因!

package Java练习题;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class userRegistered {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("==注册页面==");System.out.println("请输入用户名:");String userName = input.next();System.out.println("请输入密码:");String userPassward = input.next();char [] charNameArray = userName.toCharArray();char [] charPasswardArray = userPassward.toCharArray();boolean isUserNameWrong = false;boolean isPasswardWrong = false;//判断输入的用户名是否正确for(int i = 0; i<charNameArray.length;i++) {if((charNameArray[i]>=65&&charNameArray[i]<=90)||(charNameArray[i]>=97&&charNameArray[i]<=122)) {continue;}else{System.out.println("您输入的用户名错误!");isUserNameWrong = true;break;}}//判断输入的密码是否正确if(isUserNameWrong == false) {for(int i = 0; i<charPasswardArray.length;i++) {if((charPasswardArray[i]>=0&&charPasswardArray[i]<=9)) {continue;}else{System.out.println("您输入的密码错误!");isPasswardWrong = true;break;}}}//如果输入的用户名和密码都正确,使用map存用户名和密码if(isUserNameWrong == false && isPasswardWrong == false) {Map<String, String> map = new HashMap<String, String>();map.put(userName, userPassward);map.forEach((name,pwd)->{System.out.println("用户名:" + name);System.out.println("密码:" + pwd);});}}
}

2、登录功能

(1)准备
首先使用map存储一些已经注册过的用户信息
(2)界面
=登录页面==
请输入用户名:
请输入密码:
(3)验证
如果用户名和密码全都正确,提示登录成功;
如果用户名错误,提示登录失败,用户名不存在;
如果密码错误,提示登录失败密码错误。

package Java练习题;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class userLogin {public static void main(String[] args) {Scanner input = new Scanner(System.in);Map<String, String> map = new HashMap<String, String>();map.put("zhangsan", "123456");map.put("lisi", "123456");map.put("wangwu", "123456");map.put("zhaoliu", "123456");map.put("maqi", "123456");System.out.println("请输入用户名:");String userName = input.next();System.out.println("请输入密码:");String userPassward = input.next();if(map.containsKey(userName)) {if(map.get(userName).equals(userPassward)) {System.out.println("登陆成功!");}else {System.out.println("登陆失败,您输入的密码错误!");}}else {System.out.println("登陆失败,您输入的用户名不存在!");}  }
}

3、编写敏感词过滤程序

输入一个字符串,将里面的敏感词替换成**。

说明:在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。如“色情”“恐怖”、“枪”、“军火”等,这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。

package Java练习题;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Scanner;public class sensitiveWordFiltering {public static void main(String[] args) {Scanner input = new Scanner(System.in);  System.out.println("请输入一个字符串:");String s = input.next();List<String> list = new ArrayList<String>();list.add("色情");list.add("恐怖");list.add("枪");list.add("军火");for(String sensitiveWord:list) {  if(sensitiveWord.length()==1) {s = s.replaceAll(sensitiveWord, "*");}else {s = s.replaceAll(sensitiveWord, "**");}  }System.out.println("您输入的字符串为:" + s);}
}

运行结果:

4、计算某年、某月、某日和某年、某月、某日之间的天数间隔和周数。

package Java练习题;
import java.text.SimpleDateFormat;
import java.util.Scanner;public class timeDifference {public static void main(String[] args) throws Exception{Scanner input = new Scanner(System.in);System.out.println("请输入起始日期,格式为XXXX-XX-XX:");String startDate = input.next();System.out.println("请输入结束日期,格式为XXXX-XX-XX:");String endDate = input.next();//解析日期SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd");//获取起始日期解析时间戳Long startDateFormat = sdFormat.parse(startDate).getTime();//获取结束日期解析时间戳Long endDateFormat = sdFormat.parse(endDate).getTime();//long型时间差Long timeDuration = endDateFormat - startDateFormat;//转化为天数Long days = timeDuration/1000/60/60/24;//转化为周数Long weeks = days/7;//一周大于3天向上取整if(days % 7 > 3) {weeks+=1;}System.out.println("相差天数:" + days);System.out.println("相差周数:" + weeks);}
}

运行结果:

5、有一个List集合,里面存储了5个Student对象。Student有姓名、年龄和成绩属性。

要求对List集合进行排序,排序规则是:
按照成绩降序排列;
如果成绩相同,那么姓名升序排列;
如果姓名也相同,那么年龄降序排列。

package Java练习题1114;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;public class studentSort {public static void main(String[] args) {Student[] stu = {new Student("张三", 20, 88),new Student("李四", 22, 74),new Student("王五", 19, 83),new Student("赵六", 16, 96),new Student("马七", 25, 65)};//打印初始对象结合System.out.println("开始顺序为:");List<Student> list = Arrays.asList(stu);list.forEach((student) -> {System.out.println("姓名:" + student.getName() + "     年龄:" + student.getAge() + "   分数:" + student.getScore());});list.sort(Comparator.comparing(Student::getScore).reversed().thenComparing(Comparator.comparing(Student::getName)).thenComparing(Comparator.comparing(Student::getAge).reversed()));//打印排序好的集合System.out.println("按照年龄排序后:");list.forEach((student) -> {System.out.println("姓名:" + student.getName() + "     年龄:" + student.getAge() + "   分数:" + student.getScore());});}
}
class Student {private String name;private int age;private double score;public Student(String name, int age, double score) {super();this.name = name;this.age = age;this.score = score;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}
}

运行结果为:

Java集合基础练习题相关推荐

  1. linux视频教程百度网盘分享,Java集合基础知识总结(绝对经典

    2.JAVA集合可以存储和操作数目不固定的一组数据. 3.若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用. 注:使用相应的toArray()和Arr ...

  2. java集合基础_java常用集合基础知识

    [纯出自个人笔记,如有错误,望改正,谢谢哈! 学习~] 一.Java集合 1.集合类:容器类 装对象的(不能存放基本数据类型,但是里面看到的其实是包装类型) java.util包 ArrayList底 ...

  3. Java集合基础知识总结

    一.数组Array和集合的区别 1.数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) 2.JAVA集合可以存储和操作数目不固定的一组数据. 3.若程序时不知道究竟需要多少对 ...

  4. java由大到小输出整数xvz_【视频+图文】Java经典基础练习题(三):输入3个整数,并将其由小到大输出...

    java经典实例书店书畅想畅销书 109.6元 包邮 (需用券) 去购买 > 目录https://www.cnblogs.com/Qpgshare/p/12588923.html一.视频讲解 h ...

  5. java判断五位数回文数_【视频+图文】Java经典基础练习题(五):键盘输入一个五位数,判断这个数是否为回文数...

    能解决题目的代码并不是一次就可以写好的 我们需要根据我们的思路写出后通过debug模式找到不足再进行更改 多次测试后才可得到能解决题目的代码! 通过学习,练习[Java基础经典练习题],让我们一起来培 ...

  6. java集合-set练习题

    练习题 TreeSet练习 题目:定义一个Employee类,该类包含:private 成员变量 name age birthtday,其中birthday为MyDate类的对象.并为每一个属性定义 ...

  7. 黑马程序员——Java集合基础知识之Map

                                         android培训.java培训.期待与您交流!   Map概念 要同时存储两个元素Key和Value,他们之间有映射关系,每 ...

  8. java集合基础复习

    为什么80%的码农都做不了架构师?>>>    温故知新,好一段学习时间过后到了收割的季节. java中集合java.util包下的一个集合根接口collection,其子接口lis ...

  9. Java EE基础练习题

    一.基础语法 1.请编写程序,将如下语句输出到屏幕上: 你好Java public class HelloWorld {public static void main(String[] args) { ...

  10. java定义猴子类的题_【视频+图文】Java经典基础练习题(六):猴子吃桃子问题...

    目录 一.具体题目 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天 早上又将剩下的桃子吃掉一半 ,又多吃了一个 . 以后每天早上都吃了前一天剩下的一半零一个. 到第10天早上想再 ...

最新文章

  1. kd树 python实现_Python KD树实现+简单的KNN实现
  2. cocos 卡牌类_优质链游大爆发,Cocos-BCX版《恶龙必须死》有什么特别之处?
  3. 为什么很多网逃抓不到_为什么很多人找不到长久合作的毛刷厂家?
  4. 智能机器人及其应用ppt课件_智能工业机器人应用再获成功!
  5. vivo X21低调奢华 彭于晏携手黑金版来袭
  6. elasticsearch 二、elasticsearch-head安装
  7. SAS 中计算总和或者计算总数的方法
  8. python asyncore
  9. 内网穿透 无需公网ip_无需端口映射、无需公网IP,60秒实现FTP服务远程访问
  10. 【Fiddler 实战操作】如何使用 Fiddler 对苹果手机进行抓包
  11. Java案例:汉诺塔问题
  12. TensorFlow 教程 --进阶指南--3.9TensorBoard: 图表可视化
  13. 一个很不错的技术网站
  14. 2010年11月8日,早会资料(日本的文化节)。
  15. 通过源码理解反射与注解是什么东西?
  16. 快闪族 - 百度百科
  17. 20个最漂亮的基于WordPress的企业网站
  18. ACPI文件处理与屏蔽独显、亮度调节
  19. Shopee平台很火爆,但是产品价格设置的不合理,努力都是白费的
  20. git因commit的记录太大导致push失败解决方法

热门文章

  1. 电大有计算机教程吗,电大教程 计算机概述.ppt
  2. java 中文文件路径乱码 解决方法
  3. 7.nestjs文件上传
  4. 恩智浦智能汽车竞赛电磁组总结
  5. EEGLAB及其插件下载安装
  6. 大一高数下册笔记整理_高数下册学习笔记
  7. 看拉扎维《模拟CMOS集成电路设计》的一些总结和思考(十三)——非线性与不匹配
  8. mysql网络共享_局域网共享mysql
  9. 微型计算机硬盘接口种类,硬盘接口类型
  10. Kerberos下pyhive使用