任务描述
本关任务:编写程序输出考试学生的人数及姓名。
相关知识
可变参数:适用于参数个数不确定,类型确定的情况,Java 把可变参数当做数组处理。
可变参数必须位于最后一项。
原因:当可变参数个数多于一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,Java 无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。
例子:
public class Demo {
public static void main(String[] args) {
print("a","b");
print("gsd","safda","f");
}
// 将所有参数打印
public static void print(String... args) {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}
执行结果:
a
b
gsd
safda
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 **********/ }