第1关:学习-Java类和对象之可变参数
- 任务描述
- 相关知识
- 编程要求
- 测试说明
任务描述
本关任务:编写程序输出考试学生的人数及姓名。
相关知识
可变参数:适用于参数个数不确定,类型确定的情况,Java 把可变参数当做数组处理。
可变参数必须位于最后一项。
原因:当可变参数个数多于一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,Java 无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。
例子:
1. public class Demo {
2. public static void main(String[] args) {
3. print("a","b");
4. print("gsd","safda","f");
5. }
6. // 将所有参数打印
7. public static void print(String... args) {
8. for (int i = 0; i < args.length; i++) {
9. System.out.println(args[i]);
10. }
11. }
12. }
执行结果:
1. a
2. b
3. gsd
4. safda
5. f
无论 print 方法中输入多少参数,只要都是 String 类型,都不会报错,可以正常运行。
可变参数的特点: (1)只能出现在参数列表的最后;
(2)**…位于变量类型和变量名之间,前后有无空格都可以。…**,这三个点的学名叫做可变长参数,也就是相当于一个数组,能够传入 0 个至 n 个参数;
(3)调用可变参数的方法时,编译器为该可变参数隐式地创建一个数组,在方法体中以数组的形式访问可变参数。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。
开始你的任务吧,祝你成功!
/**
* 定义输出考试学生的人数及姓名的方法,方法名为 print,传参的类型为String,无返回值。
*/
public class Student {
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
public static void main(String[] args){
Student student =new Student();
// System.out.println("本次参加考试的人有3人,名单如下:");
student.print("张强","李成","王");
//System.out.println("本次参加考试的人有2人,名单如下:");
student.print("马丽","陈玲");
}
public static void print(String ... names){
int count = names.length;
System.out.println("本次参加考试的有"+ count +"人,名单如下:");
for(int i=0;i<names.length;i++){
System.out.println(names[i]);
}
}
/********** End **********/
}