- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
为什么B部分会出现错误?
说明:以下 Numbers 类将用于分析和检索数字集。
public class Numbers
{
/** @param nums is a positive non-decimal value
* Precondition: nums>=0
* @return false if the sum of digit divisors of num is odd
* @return true if the sum of the digit divisors of num is even
*/
public static boolean isSilly(int value)
{
/* to be implemented in part(a) */
}
/* @param count is a positive non-decimal value
* Precondition: count >0
* @return an array containing count Silly numbers
*/
public static int[] getSomeSillyNumbers(int count)
{
*/ to be implemented in part(b) */
}
// There may be varialbes/fields,constructors, and methods that are not shown.
}
A.编写 Numbers 方法 isSilly(),如下所示。 isSilly() 将是一个整数并确定该整数是否为 Silly。
傻数是指除数之和为偶数的任何数字。总和必须大于零。
调用 isSilly(12) 将返回 false,因为 12 的数字除数和为 3 - [1,2],为奇数。
/** @param num is a positive non-decimal value
* Precondition: value >=0
* @return false if the sum of digit divisor of num is odd
@return true if the sum of the digit divisor of the num is even
*/
我为A做了什么
public static boolean isSilly(int value)
{
int sum = 0;
while (value > 0)
{
sum = sum + value % 10;
value = value / 10;
}
if (sum%2==0)
return true;
else
return false;
}
B.编写 Numbers 方法 getSomeSillyNumbers(),如下所示。getSomeSillyNumbers() 将接收要返回的 Silly Numbers 数量。
调用 getSomeSillyNumbers(3) 将返回 [2,4,6]。
您必须从 a 部分调用该方法,假设无论您编写什么内容该方法都按指定方式工作。
/* @param count is a positive non-decimal value
* Precondition: stop>0
* @return an array containing count Silly numbers
*/
我为B做了什么
public static int[] getSomeSillyNumbers(int count)
{ int[] getSomeSillyNumbers = new int[count];
while(count!=0)
{
if(isSilly(count))
{
int i=0;
getSomeSillyNumbers[i]=count;
i++;
}
count --;
}
System.out.println(Arrays.toString(getSomeSillyNumbers));
return getSomeSillyNumbers;
}
更新
我的整个代码是这样的:
import java.util.Arrays;
public class Numbers
{
public static boolean isSilly(int value)
{
int sum = 0;
while (value > 0)
{
sum = sum + value % 10;
value = value / 10;
}
if (sum%2==0)
return true;
else
return false;
}
public static int[] getSomeSillyNumbers(int count)
{ int[] getSomeSillyNumbers = new int[count];
int i=0;
while(count!=0)
{
if(isSilly(count))
{
getSomeSillyNumbers[i]=count;
i++;
}
count--;
}
System.out.println(Arrays.toString(getSomeSillyNumbers));
return getSomeSillyNumbers;
}
}
与运行者:
import java.util.Arrays;
public class NumbersRunner
{
public static void main(String[] args)
{
Numbers runner = new Numbers();
runner.isSilly(12);
runner.isSilly(15);
runner.isSilly(26);
runner.isSilly(8);
runner.isSilly(1234);
runner.getSomeSillyNumbers(3);
runner.getSomeSillyNumbers(15);
}
}
我得到:
[2, 0, 0]
[15, 13, 11, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0]
什么时候我应该得到
[2,4,6]
[2,4,6,8,11,15,20,22,24,26,28,32,33,40,42]
最佳答案
B
部分存在以下错误:
int[] getSomeSillyNumbers = new int[count];
行中重新创建 int[] getSomeSillyNumbers
。因此,它始终只有 1 个值,即 count
的最新值。 要解决这个问题,请在循环外创建 getSomeSillyNumbers
数组,即在 while
循环之前放置行 int[] getSomeSillyNumbers = new int[count];
。i
的声明位于 while 循环中的 int i=0;
行中。因此它每次都会重新创建并使用 0
进行初始化。 要解决这个问题,请将 int i=0;
行放在 while 循环之前。注意: 我假设返回行中的 getSomeSillyNumbers();
是另一种方法。如果不是,则使用不当。
关于java - 练习自由 react (更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47786019/
这是我正在调试的函数: boolean adin_memory(char* buffer, int size_chunck, int end_flag){ global_buffer = my
我正在尝试为具有自由 float 底座的机器人计算末端执行器空间速度雅可比行列式。由于自由 float 基数,雅可比应该包含一个基数组件和一个操纵器注释(参见 https://spart.readth
procedure FreeListObjects( l : TStrings); var i : integer; BEGIN FOR i := 0 TO l.Count -1 DO BEG
我正在探索 Haskell 中的选项,这些选项可以让我将业务逻辑与底层系统的技术实现分开。例如,在 Web 服务器的上下文中,将 Web 服务器处理其接收的信息的方式与其读取和写入数据库的方式分开。要
我的目标是使用来自 ActiveMQ 的 WebSphere Liberty Appserver(完整的 Java EE 标准)使用消息。不幸的是,我不知道如何配置 WebSphere Liberty
我以这种方式分配了一个非方阵,但我不确定我是否正确使用了释放 float **matrix_alloc(int m /* rows */, int n /* columns */) { int
我在阅读 refuting the notion 之后的第 13.5 节内置运算符不参与重载决议,并注意到没有关于 operator->* 的部分。它只是一个通用的二元运算符。 它的兄弟operato
我正在尝试使用 Libelf 库来获取有关某些 elf 文件的一些信息。但我不断收到这些“对 [...] 的 undefined reference ”。我从 synaptic 安装了 libelf(
我有创建动态结构数组的波纹管代码。 #include #include #include typedef struct { int flag; char* ip; } ip_mo
我是 StackOverflow 的新人。我现在正在学习C指针。 这是我的代码: #include #include int alloc(int* p){ p = (int*) mallo
我是 StackOverflow 的新人。我现在正在学习C指针。 这是我的代码: #include #include int alloc(int* p){ p = (int*) mallo
我正在用 C 编写一个程序,我需要读入一个文件并打印出每个至少 4 个字符长的字符串。我在分配要使用的内存时遇到问题。字符串可以任意长。我试图将缓冲区分配给文件的大小,然后在最后释放它,但我显然错过了
我尝试用 C 语言编写 ls 命令,但 -R 选项有问题。 输出: /Applications/Atom.app/Contents/Resources/app/apm/node_modules/es5
我正在编写一个 shell,但在执行内存检查时遇到问题,因为 valgrind 无法正常运行。 我遇到了这样的错误(我自己杀死了它): ==19703== Memcheck, a memory err
我有这样一段代码: void *write_parallel(void *num_for_chunk) { struct rusage *sum = (struct rusage*) mall
当使用包含 200-300 个整数(以空格分隔)的输入 .txt 文件运行此代码时,我在使用 fprintf 语句的 for 循环之前收到错误。 我不确定 qsort 是否导致了此错误或为什么会发生此
我试图告诉 Websphere Liberty 我的 log4j2.xml 文件在哪里,但它不起作用。 在我的文件 jvm.options 中,我配置: -Dlog4j.configurationFi
从 websphere liberty 16 迁移到 19.0.0.1 我遇到以下异常:运行存储过程后关闭连接,出现以下异常: EJB threw an unexpected (non-declare
当对大小为 210*8 的种子数据集运行此代码时,我在预测函数中的 qsort() 行之后收到错误。它不在 qsort() 之后执行。 我不确定 qsort 是否导致了此错误或为什么会发生此错误,但如
这个问题已经有答案了: Facing an error "*** glibc detected *** free(): invalid next size (fast)" (2 个回答) 已关闭 9
我是一名优秀的程序员,十分优秀!