如何在条件中定义起点?
How to define a starting point in the condition?
问题:
我想要 1-50 中所有不能被 7 整除但又没有 7 的数字,例如 17,27 等。下面的代码有效,但 (i-10)%7
必须从 i=6
开始。现在它认为数字 3 不算数,因为 (3-10)=-7
即 0 mod 7. 我如何在 if 语句中解决这个问题?
for(int i=1; i<=50;i++){
if(i%7!=0 && (i-10)%7!=0){
System.out.println(i);
你的第二个条件是错误的。 27 以 7 结尾,但 (27-10)%7!=0.
你只需要检查 i % 10 不是 7。
if(i%7!=0 && i%10!=7)
如果您要检查每个数字是否包含 7 而不是“(i-10)%7!=0”,我建议将 i 强制转换为字符串 (i + ""),然后检查它是否包含字符 7
仅使用 i%10 !=7 将只检查最后一位数字是否不是 7。
这应该有效。将其转换为字符串并检查它是否包含字符串“7”。
if(i % 7 != 0 && ((String)i).contains("7"))
这样就可以了
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 12 13 15 16 18 19 22 23 24 25 26 29 31 32 33 34 36 38 39 41 43 44 45 46 48
更新
如果您希望 if 条件从 i=6
开始检查,那么您可以这样做...
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 15 16 18 19 22 23 24 25 26 29 31 32 33 34 36 38 39 41 43 44 45 46 48
看起来很基本:
判断数字是否有7 : number%10==7
判断这个数是否能被 7 整除:number%7==0
在 Or 子句中合并
如果(数字%10==7||数字%7==0)
做任何事......
但仅适用于人数<50
问题:
我想要 1-50 中所有不能被 7 整除但又没有 7 的数字,例如 17,27 等。下面的代码有效,但 (i-10)%7
必须从 i=6
开始。现在它认为数字 3 不算数,因为 (3-10)=-7
即 0 mod 7. 我如何在 if 语句中解决这个问题?
for(int i=1; i<=50;i++){
if(i%7!=0 && (i-10)%7!=0){
System.out.println(i);
你的第二个条件是错误的。 27 以 7 结尾,但 (27-10)%7!=0.
你只需要检查 i % 10 不是 7。
if(i%7!=0 && i%10!=7)
如果您要检查每个数字是否包含 7 而不是“(i-10)%7!=0”,我建议将 i 强制转换为字符串 (i + ""),然后检查它是否包含字符 7
仅使用 i%10 !=7 将只检查最后一位数字是否不是 7。
这应该有效。将其转换为字符串并检查它是否包含字符串“7”。
if(i % 7 != 0 && ((String)i).contains("7"))
这样就可以了
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 12 13 15 16 18 19 22 23 24 25 26 29 31 32 33 34 36 38 39 41 43 44 45 46 48
更新
如果您希望 if 条件从 i=6
开始检查,那么您可以这样做...
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 15 16 18 19 22 23 24 25 26 29 31 32 33 34 36 38 39 41 43 44 45 46 48
看起来很基本:
判断数字是否有7 : number%10==7 判断这个数是否能被 7 整除:number%7==0
在 Or 子句中合并 如果(数字%10==7||数字%7==0) 做任何事......
但仅适用于人数<50