java - Java在int中找到第二个前导数字
问题描述
我正在处理一个 Java 问题,我需要检查任何大小的 int 的第二个前导数字(例如:123 中的“2”或 58347 中的“8”)是否是特定数字(例如'2' 或 '5'),然后将 true 分配给布尔值,如果它是那个数字。我正在尝试使用模/除数方法,但如果数字很大,我无法提取第二个前导数字。
我搜索了 Stack Overflow,发现了一个非常相似的问题。但是,如果数字被硬编码为两位数,则该问题的解决方案有效。我知道有一种方法可以将 int 转换为 String,并且我成功地尝试了该方法,但我需要使用 int/modulo/division 方法。我试着做 (n%100)/10; 但它让我倒数第二个数字(例如:4562374 中的“7”),而不是第二个数字。
// n is a number such as 123, or 25, or 52856.
while (n > 0) {
int i=((n%10)/10);
if( (i==2)||(i==3) || (i==5)|| (i==7) )
{ secondDigit=true; }
else { secondDigit= false; } }
System.out.println(secondDigit);
解决方案
只需继续除以 10 直到数字 < 100 然后取模 10,例如:
class Main {
public static void main(String[] args) {
int n = 58347;
while (n >= 100) {
n /= 10;
}
System.out.println(n % 10); // prints 8
}
}
推荐阅读
- django - 我无法使用 CreateView 将歌曲添加到特定专辑
- azure - 在 ARM 模板中循环访问复杂的 JSON 变量
- javascript - 如何强制用户滑动两次主页指示器进入主屏幕?
- .net - 为组件 AppSection 指定的模板不是字符串
- javascript - 如何检测数字变量的变化?
- opengl - opengl 和 opengles 有什么区别?
- node.js - 如何在没有 nodemailer 的情况下使用 node js 发送邮件
- c# - 将 SelectedItem(对象)转换为单个字典条目
- cordova - 如何从 Ionic 4 应用程序仅在移动设备的 chrome 浏览器中打开外部 URL
- nginx - 在 auth_request url 位置设置 request_uri 标头