黑马程序员技术交流社区
标题:
逢7过加强版,任意范围内逢7过的数字
[打印本页]
作者:
15967009692
时间:
2019-6-26 21:33
标题:
逢7过加强版,任意范围内逢7过的数字
前两天上课讲了一个逢七过的案例,不过那是固定了范围(0~100),
课后我进行了调整,将效果改成任意区间的逢七过数字。
主要是通过将数字的每个位的数字拆分进行比较,而不是通过
各位%10,十位/10%10的方式
public static void
main(String[] args) {
while
(
true
) {
Scanner sca =
new
Scanner(System.
in
);
System.
out
.println(
"
输入一个范围
"
);
System.
out
.println(
"
请输入起始位置
"
);
int
a = sca.nextInt();
System.
out
.println(
"
请输入起始结束
"
);
int
b = sca.nextInt();
getNum
(a,b);
}
}
public static void
getNum(
int
a,
int
b) {
for
(
int
i = a; i <= b; i++) {
/*
把输入的
int
数字,转化成
String
类型
再将
String
类型的数字,全部拆开存入
char
数组中
如
123
,拆成
'1' '2' '3',
存放在数组里面
*/
char
[] chars = (i +
""
).toCharArray();
//
遍历数组
for
(
int
j =
0
; j < chars.
length
; j++) {
//
如果是
7
的倍数就直接打印输出,结束循环
if
(i %
7
==
0
) {
System.
out
.println(i);
break
;
//char
数组中有数字
7
,也输出打印
}
else if
(chars[j] ==
'7'
) {
System.
out
.println(i);
}
}
}
} 仅是效果方面到达了,程序还有很多优化的地方,欢迎大神指点
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2