输入整数n,创建n个对象,放入同一个数组中。
如果输入c,则new Computer(); //注意:Computer是系统中已有的类,无需自己编写
如果输入d,则根据随后的输入创建Double类型对象。
如果输入i,则根据随后的输入创建Integer类型对象。
如果输入s,则根据随后的输入创建String类型对象。
如果不是以上这些输入,则不创建对象,而是将null存入数组相应位置。
最后倒序输出数组中的所有对象,如果数组中相应位置的元素为null则不输出。
裁判测试程序:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//这边是你的代码
sc.close();
}
输入样例:
5
c
d 2.3
other
i 10
s Test
输出样例:
Test
10
2.3
//这行显示Computer对象toString方法
通过代码:
int num = 0;
num = sc.nextInt();
Object[] arr = new Object[num];
for(int i=0;i<num;i++) {
String str;
str = sc.next();
if(str.equals("c")) {
arr[i] = new Computer();
}
else if(str.equals("d")) {
arr[i] = new Double(sc.nextDouble());
}
else if(str.equals("i")) {
arr[i] = new Integer(sc.nextInt());
}
else if(str.equals("s")) {
arr[i] = new String(sc.next());
}
else {
arr[i] = null;
}
}
for(int i=num-1;i>=0;i--) {
if(arr[i] != null) {
System.out.println(arr[i]);
}
}
本文介绍了一种根据用户输入动态创建不同类型的对象,并将其存储在数组中,最后倒序输出非空对象的方法。涉及到的技术包括条件判断、对象创建、数组操作及倒序遍历。

404

被折叠的 条评论
为什么被折叠?



