没有泛型的java向量

zz2j4svz  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(448)

我有这个问题,我不确定它到底是问什么,我张贴了整个问题,但我不期待答案,只是有人给我指出正确的方向请!
还有一个问题是不要使用泛型。
提前谢谢
问题:
在下面的程序中,counthighs方法中的代码丢失。编写此方法的代码,该方法将向量m作为参数,并返回向量中作为highrights示例的对象数
该方法还应该检查从向量中提取的元素是否确实是highrights或lowrights类的示例。如果元素不是此类类的示例,则该方法应返回-1。
如果向量为空,则处理nullpointerexception。捕获发生的异常时,请使用以下代码:

  1. 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

  1. import java.util.*;
  2. @SuppressWarnings( "unchecked" ) public class Ex6 {
  3. public static void main(String[] a)
  4. {
  5. int i=Integer.parseInt(a[0]);
  6. if (i==0) {
  7. Vector ma = new Vector();
  8. ma.add(new HighRights("Jimmy"));
  9. ma.add(new HighRights("Jim"));
  10. ma.add(new HighRights("Mark"));
  11. ma.add(new HighRights("John"));
  12. ma.add(new LowRights("Lisa") );
  13. System.out.println(new Ex6().CountHighs(ma));
  14. }
  15. if (i==1) {
  16. Vector ma = new Vector();
  17. ma.add(new HighRights("Jimmy"));
  18. ma.add("I'm not Jimmy" );
  19. System.out.println(new Ex6().CountHighs(ma));
  20. }
  21. if (i==2) System.out.println(new Ex6().CountHighs(null));
  22. }
  23. public static int CountHighs (Vector m) {
  24. }
  25. }
jgwigjjp

jgwigjjp1#

问题是要计算向量中特定类型的值的数量。您需要实现counthighs来实现以下行为
如果提供的列表为空,则执行system.out.println(“error”);
如果列表具有除highrights或lowrights以外的任何值,则返回-1
否则返回列表中高权限的数量
在您的功能中,按以下顺序执行。如果为null,则打印输出并返回,即完成。
接下来遍历向量。它建议您使用m.size()来定义何时中断for或while循环。
保留一个局部int变量,每次迭代的值的类型为'highrights'时将其递增1(使用instanceof关键字确定)
如果在迭代过程中遇到无效值,请立即返回-1。
它应该在不编写代码的情况下为您指明正确的方向。

相关问题