求一个java程序 输入两个数字,一个小一个大。然后统计这中间出现的7 的个数 10

比如100,150答案就是5个7169,178答案就是9个7用循环编写... 比如 100,150 答案就是5个7
169,178 答案就是9个7
用循环编写
展开
 我来答
小傻

2016-10-26 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

参考如下:

public class ceshi3 {


public static void main(String[] args) {

for (int num = 100; num < 150; num++) {

if (hasSeven(num)) {

System.out.printf("%03d\n", num);

}

}

}


/**

* 判断整数num是否包含数字“7”,若包含返回true,否则返回false. 其实是循环遍历输入的int类型,先取余数看是否等于7,然后

* @param num

*            待判断整数

* @return true:包含,false:不包含

*/

public static boolean hasSeven(int num) {

while (num > 0) {

if (num % 10 == 7) {// 如果是尾数为7,则返回为true,如果不为7,则除以10,去掉一位数,接着循环遍历

return true;

}

num /= 10;// 重新赋值,去掉一位数

}

return false;

}

}

结果:

dark19861201
2016-10-26 · TA获得超过2153个赞
知道大有可为答主
回答量:2584
采纳率:79%
帮助的人:1791万
展开全部
import java.util.Scanner;
public class CalcSeven {
public static void main(String[] args) {
int min = 0;
int max = 0;
int total=0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个较小的数");
min = sc.nextInt();
System.out.println("请输入一个较大的数");
max = sc.nextInt();
for(int i=min;i<=max;i++){
total+=getSevenTotal(i);
}
System.out.println(min+"到"+max+"之间有"+total+"个7");
}
public static int getSevenTotal(int n){
int total=0;
while(n>0){
if(n%7==0) total++;
n/=10;
}
return total;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式