-
工具类-获取控制台输入
/** * 工具类的作用 * 处理各种情况下用户的输入,并且能够按照程序员的要求,得到用户的控制台输入。 */ public class Utility { //静态属性 private static Scanner scanner = new Scanner(System.in); /** * 功能:读取键盘输入的一个菜单选项,值:1-5的范围 * * @return 1-5 */ public static char readMenuSelection() { char c; while (true) { String str = readKeyBoard(1, false); c = str.charAt(0);//将字符串转换为字符char if (c != '1' && c != '2' && c != '3' && c != '4' && c != '5') { System.out.println("选择错误,请重新输入!"); } else break; } return c; } /** * 功能:读取键盘输入的一个字符,如果直接按回车,则返回指定的默认值 * * @param defaultValue 指定的默认字符串 * @return 默认值或输入的字符 */ public static char readChar(char defaultValue) { String str = readKeyBoard(1, true);//要么是空串,要么是输入的字符串 return (str.length() == 0 ? defaultValue : str.charAt(0)); } public static char readChar() { String str = readKeyBoard(1, false);//要么是空串,要么是输入的字符串 return str.charAt(0); } /** * 功能:读取键盘输入的整型,长度小于2位 * * @parameter 整数 */ public static int readInt(int defaultValue) { int n; while (true) { String str = readKeyBoard(10, true); if (str.equals("")) { return defaultValue; } //异常处理 try { n = Integer.parseInt(str); break; } catch (NumberFormatException e) { System.out.println(e); } } return n; } /** * 功能:读取键盘输入的指定长度的字符串 * * @return 指定长度的字符串 * @parameter limit 限制的长度 */ public static String readString(int limit) { return readKeyBoard(limit, false); } /** * 功能:读取键盘输入的指定长度的字符串或默认值,如果直接回车,返回默认的字符串 * * @param limit 限制的长度 * @param defaultValue 指定的默认值 * @return 指定长度的字符串 */ public static String readString(int limit, String defaultValue) { String str = readKeyBoard(limit, true); return str.equals("") ? defaultValue : str; } /** * 功能:从键盘读取输入的选项,Y/N * 将小的功能封装到一个方法中 * * @return Y/N */ public static char readConfirmSelection() { System.out.println("请输入你的选择(Y/N),请小心选择:"); char c; while (true) {//无限循环 //在这里,将接受到字符,转成了大写字母 //y=>Y n=>N String str = readKeyBoard(1, false).toUpperCase(); c = str.charAt(0); if (c == 'Y' || c == 'N') { break; } else { System.out.println("选择错误,请重新输入:"); } } return c; } /** * 功能:从键盘读取字符串 * * @param flag 判断是否严格 * @param limit 是否可以为空字符串 * @return str 符合要求的字符串 */ public static String readKeyBoard(int limit, boolean flag) { String str; do { str = scanner.nextLine(); if (str.length() == 0) { if (flag == false) { while (true) { System.out.println("请输入:"); str = scanner.nextLine(); if (str.length() != 0) { break; } } } else return ""; } if (str.length() > limit){ System.out.print("请输入长度不大于" + limit +"的字符串:"); } }while (str.length() > limit); return str; } }
出处:https://www.cnblogs.com/zyshuaibi/p/17132330.html
最新更新
Objective-C语法之代码块(block)的使用
VB.NET eBook
Add-in and Automation Development In VB.NET 2003 (F
Add-in and Automation Development In VB.NET 2003 (8
Add-in and Automation Development in VB.NET 2003 (6
Add-in and Automation Development In VB.NET 2003 (5
AddIn Automation Development In VB.NET 2003 (4)
AddIn And Automation Development In VB.NET 2003 (2)
Addin and Automation Development In VB.NET 2003 (3)
AddIn And Automation Development In VB.NET 2003 (1)
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
武装你的WEBAPI-OData入门
武装你的WEBAPI-OData便捷查询
武装你的WEBAPI-OData分页查询
武装你的WEBAPI-OData资源更新Delta
5. 武装你的WEBAPI-OData使用Endpoint 05-09
武装你的WEBAPI-OData之API版本管理
武装你的WEBAPI-OData常见问题
武装你的WEBAPI-OData聚合查询
OData WebAPI实践-OData与EDM
OData WebAPI实践-Non-EDM模式