java - 带有数学运算符和数组的 Java Return 方法
问题描述
我需要创建一个返回 x/2 的除数的函数,将它们放入一个数组并返回这个数组。“x”是来自不同方法的用户的输入。
public static int[] findDividers(int[] x) {
int[] array = new int[x/2];
for(int i=1; i <= array.length; i++) {
// int c = x/i;
if (x%i == 0) {
array[i] = i;
System.out.println(i);
}
return array;
}
我不断收到错误:
“对于参数类型 int[], int,运算符 / 和 % 未定义”
有什么建议么?
解决方案
如果您只是修改 findDividers 方法的参数,您的函数应该没问题。它应该如下:
//Will return dividers of x, not x/2
public static int[] findDividers(int x) { //not int[] x
//if x is of type int[] i.e an array, it makes no sense to
//use the '/' and '%' operators on it. That's why the compiler was
//complaining on your code
int[] array = new int[x/2];
for(int i=1; i <= array.length; i++) {
// int c = x/i;
if (x%i == 0) {
array[i-1] = i;
System.out.println(i);
}
}
return array;
}
推荐阅读
- python - 如何在 Pandas 中合并四个表?
- git - 恢复合并而不取消提交后完成
- node.js - 在 nodejs 脚本文件中无法访问环境变量
- batch-file - x复制到目录的顶层文件夹
- javascript - 直接在视图中输出数据和消息
- javascript - Node.js puppeteer - 如何设置导航超时?
- angular - 我在角度 6 中执行 (ngSubmit) 后表单没有刷新
- css - 带有空格 nowrap 的导航栏中的下拉菜单 - BS4
- java - Apache HttpPost 多个文件上传失败并出现服务器错误 - 缺少初始多部分边界
- android - 为什么在 xml 中集成片段失败并显示无法将片段投射到查看的错误消息?