我试图从数字数组中乘以两个最大的数字。它适用于小数字。正确的输入/输出 - 这是有效的:3 10 2 8 80正确的输入/输出 - 这是失败的:2 100000 900009000000000然而,我的输出是 10000000000。有人能告诉我我的代码有什么问题吗?public static Long sumPairwise(Long[] numbers){ int index=0; int n = numbers.length; for(int i=1;i<n;i++){ if(numbers[i]>numbers[index]) index=i; } numbers[n-1]= numbers[index]; index=0; for(int j=1;j<n-1;j++){ if(numbers[j]>numbers[index]) index=j; } numbers[n-2]=numbers[index]; Long product = (numbers[n-2])*(numbers[n-1]); return product ;}public static void main(String [] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Long numbers[] = new Long[n]; for (int i=0;i<n;i++) numbers[i]= sc.nextLong(); System.out.println(sumPairwise(numbers));}
添加回答
举报
0/150
提交
取消