java可变参数的细节
作者:
巷港
,
2022-04-03 17:25:18
,
所有人可见
,
阅读 144
可变参数的实例(计算某人任意多门的成绩之和)
import java.rmi.UnexpectedException;
import java.util.Scanner;
public class CV{
public static void main(String[] args){
HPC h = new HPC();
Scanner input = new Scanner(System.in);
int n = input.nextInt();
double[] score = new double[n];
String name = input.next();
for (int i=0;i<score.length;i++)
score[i] = input.nextDouble();
String ans = h.sum(name,score);
System.out.println(ans);
}
}
class HPC{
public String sum(String name,double ...nums){
double ans=0;
for (int i=0;i<nums.length;i++)
ans+=nums[i];
return name + "共有" + nums.length + "门成绩的总分为:" + ans;
}
}
可变参数的使用细节
- 可变参数的的实参个数可以为0个,也可以为任意多
- 可变参数的实参可以为数组
- 可变参数的实质就是数组
- 可变参数可以和普通类型的参数放在一起,但是必须保证可变参数在最后位置
- 一个形参列表中只能出现一个可变参数
public class CV {
public static void main(String[] args){
HPC h = new HPC();
int ans = h.sum(1,2); //形参为普通的值变量
System.out.println(ans); //ans = 3
}
}
class HPC{
public int sum(int ... nums){
int ans=0;
for (int i=0;i<nums.length;i++)
ans+=nums[i];
return ans;
}
}
import java.util.Scanner;
public class CV {
public static void main(String[] args){
HPC h = new HPC();
int[] arr={1,2,3};
int ans = h.sum(arr);
System.out.println(ans);
}
}
class HPC{
public int sum(int ... nums){
int ans=0;
for (int i=0;i<nums.length;i++)
ans+=nums[i];
return ans;
}
}
public int sum(String s,int ... nums) //正确
public int sum(int ...nums,String s) //错误
public int sum(int ...nums,double ...nums2) //错误