我有这个问题,我不确定它到底是问什么,我张贴了整个问题,但我不期待答案,只是有人给我指出正确的方向请!
还有一个问题是不要使用泛型。
提前谢谢
问题:
在下面的程序中,counthighs方法中的代码丢失。编写此方法的代码,该方法将向量m作为参数,并返回向量中作为highrights示例的对象数
该方法还应该检查从向量中提取的元素是否确实是highrights或lowrights类的示例。如果元素不是此类类的示例,则该方法应返回-1。
如果向量为空,则处理nullpointerexception。捕获发生的异常时,请使用以下代码:
System.out.println("Error");
提示:
1使用m.size()获取向量m中的元素数
2使用关键字instanceof检查对象是否是类的示例)
例如,如果向量m仅包含两个highrights对象和一个lowrights对象,则counthighs(m)将返回2如果向量m仅包含两个highrights对象和一个string对象,则counthighs(m)将返回-1如果向量m仅包含五个lowrights对象没有highrights对象,则counthighs(m)将返回0
import java.util.*;
@SuppressWarnings( "unchecked" ) public class Ex6 {
public static void main(String[] a)
{
int i=Integer.parseInt(a[0]);
if (i==0) {
Vector ma = new Vector();
ma.add(new HighRights("Jimmy"));
ma.add(new HighRights("Jim"));
ma.add(new HighRights("Mark"));
ma.add(new HighRights("John"));
ma.add(new LowRights("Lisa") );
System.out.println(new Ex6().CountHighs(ma));
}
if (i==1) {
Vector ma = new Vector();
ma.add(new HighRights("Jimmy"));
ma.add("I'm not Jimmy" );
System.out.println(new Ex6().CountHighs(ma));
}
if (i==2) System.out.println(new Ex6().CountHighs(null));
}
public static int CountHighs (Vector m) {
}
}
1条答案
按热度按时间jgwigjjp1#
问题是要计算向量中特定类型的值的数量。您需要实现counthighs来实现以下行为
如果提供的列表为空,则执行system.out.println(“error”);
如果列表具有除highrights或lowrights以外的任何值,则返回-1
否则返回列表中高权限的数量
在您的功能中,按以下顺序执行。如果为null,则打印输出并返回,即完成。
接下来遍历向量。它建议您使用m.size()来定义何时中断for或while循环。
保留一个局部int变量,每次迭代的值的类型为'highrights'时将其递增1(使用instanceof关键字确定)
如果在迭代过程中遇到无效值,请立即返回-1。
它应该在不编写代码的情况下为您指明正确的方向。