计算机科学:自上而下的开发

学习计算机科学的概念,示例问题和解释

大学导师应用商店 大学导师安卓商店

例子问题

例子问题1:实现技术

考虑下面的代码:

Int [] val = {6,1,41,5,1};

int[][] newVals = new int[vals.length][];

For (int I = 0;I < val .length;我+ +){

newVals[i] = new int[val [i]];

For (int j = 0;J < val [i]; J ++) {

newVals[i][j] = vals[i] * (j+1);

上面的代码做什么?

可能的答案:

它创建了一个2D矩阵瓦尔斯数组为每一行。

它把值加起来瓦尔斯,把结果放进去newVals

它执行一个矩阵乘法瓦尔斯而且newVals,将最终结果存储在newVals

的成员的倍数,该代码创建一个2D数组瓦尔斯,使用每个值来确定要计算的倍数数。

代码创建一个2D数组,其中包含的成员从1到5的所有倍数瓦尔斯。

正确答案:

的成员的倍数,该代码创建一个2D数组瓦尔斯,使用每个值来确定要计算的倍数数。

解释

让我们看看这个程序的主循环:

For (int I = 0;I < val .length;我+ +){

newVals[i] = new int[val [i]];

For (int j = 0;J < val [i]; J ++) {

newVals[i][j] = vals[i] * (j+1);

第一个循环显然贯穿瓦尔斯数组表示该数组中的项数。之后,它在newVals二维数组是与输入数组中的值一样长的第二个维度瓦尔斯.因此,对于41,它创建了第3行newVals这是41列宽。

然后,我们进入第二个循环。这个函数从0迭代到存储在当前位置中的值瓦尔斯.它将值的倍数放置在给定的2D数组位置。想到的J + 1.对于41的情况,这将从1到41(对于所有的值也是如此)。因此,您创建了一个具有初始值的所有倍数的2D数组瓦尔斯数组中。

大学导师的学习工具