首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义条件下的起点?

如何定义条件下的起点?
EN

Stack Overflow用户
提问于 2015-07-16 13:03:28
回答 5查看 50关注 0票数 2

问题:

我希望1-50中的所有数字都不能被7整除,但它们中也没有7,比如17,27等等。下面的代码可以工作,但是(i-10)%7必须从i=6开始。现在它认为数字3不算,因为(3-10)=-7是0 mod 7。我如何在if语句中解决这个问题?

代码语言:javascript
复制
for(int i=1; i<=50;i++){
    if(i%7!=0 &&  (i-10)%7!=0){
        System.out.println(i);
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-07-16 13:05:31

你的第二个条件错了。27以7结尾,但(27-10)%7=0。

你只需要检查I% 10不是7。

代码语言:javascript
复制
if(i%7!=0 && i%10!=7)
票数 5
EN

Stack Overflow用户

发布于 2015-07-16 13:08:56

这会起作用的

代码语言:javascript
复制
for(int i=1; i<=50;i++){
        if(i==7 || i==3)
        {
            if(i==3)
                System.out.println(i);              
        }
        else if(i%7!=0 &&  (i%10)%7!=0){
            System.out.println(i);}
    }

输出是.

1 2 3 4 5 6 8 9 11 13 15 16 18 19 22 24 25 26 31 32 33 34 38 39 41 43 44 45 46 48

更新

如果你想让你的If条件从i=6开始检查,那么你可以这样做.

代码语言:javascript
复制
for(int i=1; i<=50;i++){            
            if(i>=6 && i%7!=0 &&  (i%10)%7!=0)
            System.out.println(i);          
    }

输出将改为.

6 8 9 11 12 13 16 16 18 19 24 24 26 29 31 32 33 34 36 38 41 43 44 44 45 46 48

票数 2
EN

Stack Overflow用户

发布于 2015-07-16 13:08:13

这应该能行。将其转换为字符串,只需检查它是否包含字符串"7“。

代码语言:javascript
复制
if(i % 7 != 0 && ((String)i).contains("7"))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31454982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档