Java中如何让solution方法正确识别int与int[]类型参数?
问题解决办法
你的错误根源是调用方法时的参数格式不匹配:solution方法要求第二个参数是int[]类型,但你传入的是多个独立的int值,Java编译器无法自动将这些零散值转换为数组。以下是两种解决方式:
方式一:调整调用方式,显式传入数组
直接将第二个及之后的参数打包成int[]对象传入,完全符合方法的参数定义:
public static void main (String[] args) { Index method = new Index(); // 显式创建int数组作为第二个参数 System.out.println(method.solution(5, new int[]{9, 7, 10, 5})); }
方式二:修改方法定义,使用可变参数
如果希望保留method.solution(5, 9, 7, 10,5)这种简洁的调用方式,可以把方法的第二个参数改为可变参数(int...)。Java会自动将多个int参数打包成int[],方法内部的逻辑无需任何修改:
// 修改后的方法定义 public int[] solution(int divisor, int... arr){...} // 调用方式不变,依然合法 public static void main (String[] args) { Index method = new Index(); System.out.println(method.solution(5, 9, 7, 10,5)); }
内容的提问来源于stack exchange,提问作者ggggraceful
相关产品推荐
相关产品推荐

