[Java]PTA: jmu-Java-03面向对象基础-Object
·
输入整数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 n=sc.nextInt();
sc.nextLine();
Object[] obj=new Object[n];
for(int i=0;i<n;i++)
{
String[] parts=sc.nextLine().split(" ");
String choice=parts[0];
if(choice.equals("c")){
obj[i]=new Computer();
}else if(choice.equals("d")){
obj[i]=Double.parseDouble(parts[1]);;
}else if(choice.equals("i")){
obj[i]=Integer.parseInt(parts[1]);
}else if(choice.equals("s")){
obj[i]=parts[1];
}else{
obj[i]=null;
}
}
for(int j=n-1;j>=0;j--)
{
if(obj[j]!=null)
System.out.println(obj[j]);
}
这道题主要考点其实就是子类可以直接为父类赋值(向上转型)
更多推荐



所有评论(0)