所以,我想找到1到100之间的数字可以被3和7整除.我得到它的工作,除了其中一个数字.由于某种原因,3%3给了我3作为余数,但6%3给了我0.这是我的代码:
public class factors
{
public static void main(System args[])
{
//Variables
int integer, remainder;
//Displays header
System.out.print("Integers less than 100 that are \nevenly divisible by 3 or 7");
//Loops through each integer
for (integer = 1; integer <= 100; integer++)
{
remainder = integer % 3; //determines if 3 is a factor
if (remainder == 0) //displays integer
{
System.out.println(integer + " is divisible by 3");
}
remainder = integer % 7; //determines if 7 is a factor
if (remainder == 0) //displays integer
{
System.out.println(integer + " is divisible by 7");
}
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么这不适用于3号?
你的代码实际上正在做
remainder = 3 % 7; // equals 3.
Run Code Online (Sandbox Code Playgroud)
确定代码未执行操作的最佳方法是使用调试器逐步执行代码.
所有3和7的倍数将是21的倍数,即21,42,63,84.
你的3将被添加到上面文本行的末尾.你会看到的
Integers less than 100 that are
evenly divisible by 3 or 73
Run Code Online (Sandbox Code Playgroud)
因为你写的print不是println这行文字.%运算符正常工作,3%3确实为0,而不是3.
| 归档时间: |
|
| 查看次数: |
5539 次 |
| 最近记录: |