我试图从数字数组中乘以两个最大的数字。它适用于小数字。
正确的输入/输出 - 这是有效的:
3 10 2 8 80
正确的输入/输出 - 这是失败的:
2 100000 90000
9000000000
然而,我的输出是 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));
}
一只名叫tom的猫
相关分类