1,从控制台接收一串字符串,完成以下要求
将该字符串转换成字符数组(数组名为arr)
判断arr数组中第一个和最后一个字符是否相等如果不相等则互换
将互换后的arr中下标是偶数的字符用“”号代替该元素
比如:“sdfjasklf”转换成“
djsl

import java.util.Scanner;public class Test1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串");String str = sc.next();char[] arr = strToCharArr(str);changeArr(arr);String s = replaceArr(arr);System.out.println(s);}//将字符串转换成字符数组public static char[] strToCharArr(String str) {if (str.length() > 0) {char[] arr = str.toCharArray();return arr;}return null;}//将数组中的字符进行互换public static void changeArr(char[] arr) {if (arr[0] != arr[arr.length - 1] && arr.length > 1) {char temp = arr[0];arr[0] = arr[arr.length - 1];arr[arr.length - 1] = temp;}}//将数组中索引是偶数的字符替换成*public static String replaceArr(char[] arr) {for (int i = 0; i < arr.length; i++) {if (i % 2 == 0) {arr[i] = '*';}}String str = "";for (char c : arr) {str += c;}return str;}
}

2,编写程序由数字和字母组成的字符串,将其中的数字截取出来并按顺序输出,
例如"AC05Ee1824pf19sPSK458",输出结果为:0124589
(也可以使用TreeSet集合,可以直接达到去重和排序的效果)

import java.util.Scanner;
import java.util.TreeMap;
import java.util.TreeSet;public class Test2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串");String str = sc.next();//调用方法String newString = getNewString(str);System.out.println(newString);}//去除字符串中的字母public static String getNewString(String str) {//创建集合对象(使用TreeSet实现去重和排序)TreeSet<Character> set = new TreeSet<>();for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);if (c >= '0' && c <= '9') {set.add(c);}}String s = "";//遍历集合for (Character character : set) {s += character;}return s;}
}

3,有四辆车(奔驰,宝马,奥迪,法拉利),需要4个车牌号,车牌号是由5个0-9和大写英文字母组成的,车牌号不能重复
根据车牌号查询对应的车,如果查不到就提示没有此车

import java.util.*;public class Test3 {public static void main(String[] args) {HashMap<String, String> map = new HashMap<>();String[] arr = {"奔驰", "宝马", "奥迪", "法拉利"};Set<String> strings = productCarNum();for (int i = 0; i < 4; i++) {for (String s : strings) {if (!map.containsKey(s)) {map.put(s, arr[i]);} else {i--;}}}//System.out.println(map);Scanner sc = new Scanner(System.in);System.out.println("请输入车牌号");String carNum = sc.next();boolean flag = map.containsKey(carNum);if (flag) {System.out.println("你是车是:" + map.get(carNum));} else {System.out.println("没有此车!");}}// 生成四个车牌号public static Set<String> productCarNum() {ArrayList<Character> arr = new ArrayList<>();for (char i = '0'; i <= '9'; i++) {arr.add(i);}for (char i = 'A'; i <= 'Z'; i++) {arr.add(i);}Random r = new Random();StringBuilder sb = new StringBuilder();//获取其中的车牌号,用字符串的形式保存在一个新的集合中HashSet<String> set = new HashSet<>();while (set.size() < 4) {for (int i = 0; i < 5; i++) {sb.append(arr.get(r.nextInt(arr.size())));}set.add(sb.toString());sb.replace(0, sb.length(), "");}//为了方便起见,可以遍历一下set集合,看看系统随机生成的车牌号System.out.println(set);return set;}
}

4,已知一个String数组[衣服,零食,化妆品,鞋],随机生成6个10以内的整数然后将这六个数字拼接成一个字符串做为取货码,
共生成4个取货码(4个取货码互不相同)这4个取货码分别和该数组里面的元素依次进行组合,
组合格式:(取货码-物品)并存入Map集合(Map<取货码,物品>)中,
根据用户输入的取货码将对应的物品打印到控制台上,
如果取货码错误(不存在)则提示“对不起!取货码有误”

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class Test4 {public static void main(String[] args) {String[] thing = {"衣服","零食","化妆品","鞋"};Map<String,String> m = new HashMap<String,String>();for (int i = 0; i < thing.length; i++) {String s ="";for (int j = 0; j < 6; j++) {int x = (int)(Math.random()*10);s += x;}if (!m.containsKey(s)) {m.put(s, thing[i]);}else{i--;}}System.out.println(m);Scanner sc = new Scanner(System.in);System.out.println("请输入你的取货码:");String sInput = sc.nextLine();if (m.containsKey(sInput)) {System.out.println("你取到的物品为:" + m.get(sInput));}else{System.out.println("对不起!取货码有误");}}
}

5,编写一个校验用户名的程序,检测键盘录入的用户名是否合法
要求:用户名的长度必须是6-10位之间(包括6位和10位),只能是数字和字母,但是不能以数字开头

import java.util.Scanner;public class Test5 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请录入一个用户名");String username = sc.next();//调用方法checkoutUsername(username);}public static void checkoutUsername(String username) {if (username.length() >= 6 && username.length() <= 9) {//使用正则表达式判断字符串是否只是数字和字母if (username.matches("^[a-z0-9A-Z]+$")) {//使用正则表达式判断字符串不能是数字开头if (!username.matches("[0-9]+.*")) {System.out.println("录入的用户名是合法的");} else {System.out.println("录入的用户名不能以数字开头");}} else {System.out.println("录入的用户名只能是数字和字母");}} else {System.out.println("录入的用户名长度必须是6到10位之间");}}
}

Job_NDay_HomeWork_List相关推荐

最新文章

  1. 图像空间变换--imtransform
  2. VIM7.3添加中文帮助文档
  3. CVPR官网:仍将进行线下会议,网友:您老真在乎办会费
  4. 测中策---我的Web自动化测试思路
  5. 5、catch中发生了未知异常,finally代码块如何应对?
  6. 突破性进展!上海光机所成果登上《Nature》封面!
  7. WPF开源控件扩展库 - MaterialDesignExtensions
  8. JQuery Datatables 数据操作
  9. 利用电脑上自带指纹识别嵌入程序中_Win 10 隐藏功能:不用任何软件就可实现手机投屏到电脑...
  10. Android杂谈--ListView之ArrayAdapter的使用
  11. 使用宝塔面板部署node.js后台:koa2+mysql+vue
  12. GB7714-1987文后参考文献著录规则
  13. 维纳滤波python 函数_python实现逆滤波与维纳滤波示例
  14. RSA算法原理及数字签名技术
  15. 密室逃脱线上如何精准获客?
  16. 如何让Bing(必应)快速收录你的网站
  17. 微软bi报表服务器,什么是 Power BI 报表服务器?
  18. 史上最全recyclewView集合,下拉刷新,上拉加载,左滑删除,点击按钮滑动到指定位置
  19. PB函数大全【转自 http://blog.csdn.net/xiaoxian8023 】
  20. 关于生僻字乱码的问题

热门文章

  1. 【Python习题】判断火车票座位(保姆级图文+实现代码)
  2. html5用canvas画小黄人
  3. 大量阅读,并不等同于走马观花
  4. Endnote导入毕业大论文参考文献时可能出现的诸多问题及解决
  5. win10 声音增强
  6. 实用计算机技术选修,上海音乐学院附中2013学年选修课程:计算机技术
  7. 有趣的游戏编程学习网站
  8. idea 手动 Recompile 后弹框 messages
  9. questmobile2020年app排行榜_2020年 中国手机App用户量排行榜top100
  10. UltraEdit文本替换