java - 如何限制输入整数的位数
问题描述
String s1=sc.next();
int x=sc.nextInt();
System.out.println(s1+"\t"+x);
在打印语句中如何限制整数的位数,例如如果输入为 30,它将打印 030 有什么办法可以做到这一点
解决方案
如果您想限制用户输入的位数,您可以执行以下操作:
int maxDigitCount = 5; //Change this to limit amount of digits in int
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
int length = String.valueOf(i).length();
while(length > maxDigitCount) {
i = sc.nextInt();
length = String.valueOf(i).length();
}
sc.close();
//do something with i
还有其他更有效的解决方案来计算整数中的位数,在这个例子中我只是选择最短和最简单的解决方案作为说明。
推荐阅读
- postgresql - Postgres:更新数组中的特定json对象
- mongodb - 如何从另一个 Windows 服务器连接 mongodb
- .net - .NET Core xUnit 项目无法识别 app.config 或 appsettings.json
- mysql - Xampp 不会连接到 MYsql 数据库或 ProFTPD
- c - 通过终端将文本文件的内容传递给 main 时获取(null)
- unicode - 我怎样才能输入这个特殊字符?
- xslt - XSLT 2.0 基于自闭合元素之间的内容输出 html 列表
- django - Django:需要手动渲染表单选项
- css - 防止 Safari iPad 上的弹性滚动
- c# - .net mvc 5 oauth2 服务器