java编程中怎么写入除数/除数之和
问题描述
我在程序中遇到了问题,该程序正在为变量a和b生成两个100-999范围内的数字。当数字b大于a时,随机数生成器应该中断。我需要a)检查有多少个常见的不重复除数得到了这个数字b)打印除变量a和b以外的除数的总和我已经有了生成var a,b(具有更大的[[b)的代码,并且我认为我也有提供除数的循环,但似乎没有。我应该改变什么以提供适当类型的除数?还是其中任何一个,因为它无法正常工作。
谢谢您的回答。
public class Ex3 { public static void main(String[] args) { Random rand = new Random(); int a,b; List
思路:
我相信您想要的是所有
公共除数,可以将其划分为每个随机生成的整数值,并且不留余数。除数通常从1开始,并以递增方式(以1)递增直至随机值a
和随机值b
。当然,检测到的公共除数将被存储并在除数搜索完成后显示。
下面的示例代码中的第一个
for
循环执行此除数搜索。在查看循环时,您可以看到与代码的不同之处。您对应该进行哪些更改以提供适当类型的除数的假设是正确的。因此,下面的示例代码:
- 生成两个随机整数值,从100(含)到999(包括)按照您的规范。
- 确保变量
- b]中的随机整数值较大比变量
a
中的随机整数值大。 while - 循环是仅用于此特定目的,并且仅用于此目的。的循环条件确保
b
中的值必须大于a
中的值以退出该循环。
- A
- for
- 循环用于
a
中的值和在b
中获取公共除数。注意这是如何完成的,请支付特别注意terminationfor循环的(或称为“条件”)部分声明。另请注意initialization循环语句部分,您可以看到我们初始化了整数变量i
到1,而不是2。将存储任何确定的公共除数在名为commonDivisors
的列表接口对象中。名为uncommonSum
的整数变量还保留循环代码块中通过else语句不常见的所有除数的总和。公共除数显示在控制台窗口中。你会请注意,- 1
- 始终是一个常见的除数。这才有意义因为任何数字除以1将等于该数字而没有余数。最后,
- for / each
- 循环用于求和除数包含在
commonDivisors
列表中并放置结果在名为commonDivisorsSum
的整数变量中,然后显示到控制台窗口。输出到控制台窗口的示例可能看起来像这样:Random Numbers: --> A: 848 | B: 976 Common Divisors: --> [1, 2, 4, 8, 16] Common Div Sum: --> 31 UnCommon Div Sum: --> 359945
这是示例代码:
int a = new Random().nextInt(999 - 100 + 1) + 100; int b = 0; // Loop until the random number in b is greater than in a. while (a >= b) { b = new Random().nextInt(999 - 100 + 1) + 100; } //Display random generated integer values for A and B. System.out.println("Random Numbers: --> A: " + a + " | B: " + b); // Get Common Divisors between the two random integer values... List
commonDivisors = new ArrayList(); int uncommonSum = 0; for(int i = 1; i " + commonDivisors); // Get an display the sum of Common Divisors int commonDivisorsSum = 0; for (int i : commonDivisors) { commonDivisorsSum = commonDivisorsSum + i; } System.out.println("Common Div Sum: --> " + commonDivisorsSum); System.out.println("UnCommon Div Sum: --> " + uncommonSum);
java编程中怎么写入除数/除数之和的内容,小编都给大家整理出来了,希望各位小伙伴都能看懂。在我们爱站技术频道网站有很多Java方面的文章,喜欢可以来查阅。
下一篇:在Java中创建唯一集合的集合