这是用于家庭作业。但是,我已经编码了我作业的绝大多数内容。只有一个障碍。我也是Java的新手,所以我的术语可能有点偏离。

所以我有5种类型:

老师提供:

NameInterface,这是Name的接口文件

名称,使用2个私有字符串(名字和姓氏)作为名字和姓氏

StudentInterface,这是Student的接口文件

StudentTest,这是用于测试的主要方法

通常由老师提供,我只需要修复compareTo()。其他所有事情,例如构造函数,字段等,都已完成:

学生,使用fullName(这是一个NameInterface)和String城市

Name类具有compareTo()重写,该重写使用Java的内置compareTo来比较此优先级和其他优先级

public int compareTo(Object other)

{

int result = last.compareTo(((Name)other).last);

if (result == 0)

{

// last names are equal; check first

result = first.compareTo(((Name)other).first);

}  // end if

return result;

} // end compareTo

学生班有一个compareTo()方法,它使用Name类的compareTo方法来比较此Name和其他Name以及该城市和其他城市

public int compareTo(Object other)

{

Student localStudent = (Student) other;

int result = (fullName.getName()).compareTo((localStudent.getName()).getName());

if (result == 0)

{

// last names are equal; check first

result = city.compareTo(localStudent.getCity());

}  // end if

return result;

} // end compareTo

我尝试在StudentTest中调用学生类的compareTo,但是它说找不到符号。

StudentInterface si = new Student();

si.setCity("Kingston");

NameInterface ni = new Name("Andrew","Pletch");

si.setName(ni);

StudentInterface si2 = new Student();

si2.setCity("Kingston");

NameInterface ni2 = new Name("Aram","Agajanian");

si2.setName(ni2);

System.out.println(" compare as (should be +ve)" + si.compareTo(si2));

错误是:

StudentTest.java:27: error: cannot find symbol

System.out.println(" compare as (should be +ve)" + si.compareTo(si2));

^

symbol:   method compareTo(StudentInterface)

location: variable si of type StudentInterface

1 error

我的结论是"其他对象"不符合" StudentInterface"。我该如何解决?谢谢大家。

您能否粘贴完整的代码以包含重要信息(例如,StudentInterface的完整定义)?

您是否在StudentInterface中声明了int compareTo(Object other);?

这意味着接口StudentInterface没有指定compareTo方法。似乎您只在?x4>类中定义了一个。

或者,通常优选StudentInterface extends Comparable。

@chrylis是正确的,您应该使用Comparable接口,但不要忘记更新已实现的compareTo方法的签名(您将找到方法;)。

@ Tsung-TingKuo完整定义是什么意思?然后我粘贴了si和si2。

@DavidWallace和Pinkie我老师给我们的代码没有包括在内,我不认为这是解决方案,因为我认为我们只修改Student。我印象中任何接口方法都必须在类中完成,反之则不行。

@KartikChughヅ这就是解决方案。试试吧。

谢谢大家。有用。我想澄清一下-您在类中使用的所有方法都必须在接口中表示吗?我对此有些怀疑,因为我的老师告诉我们我们可以有界面中未提及的其他方法。

请不要编辑您的问题标题以告诉我们您的问题已解决。请发布该问题的答案,然后告诉我们您如何解决。

@KartikChughヅ您使用的所有方法都必须在变量的类型上表示。您有一个variable si of type StudentInterface,因此只能使用在该接口上声明的方法。

那讲得通!谢谢。

将compareTo添加到接口。 使用的所有方法必须在变量的类型上表示。 si的类型为StudentInterface,因此只能使用在StudentInterface上声明的方法。

java compareto 函数,关于java:如何解决:compareTo 找不到符号相关推荐

  1. java rectangle_rectangle函数参数 java中Rectangle 的用法

    rectangle()函数 void rectangle(int left,int top,int right,int bottom) 说明: 参数le此函数调用方式为void rectangle(i ...

  2. java中函数过载,Java继承中成员方法的overload(重载/过载)

    如果Java基础类有一个方法名被"过载"使用多次,在衍生类里对那个方法名的重新定义就不会隐藏任何基础类的版本.所以无论方法在这一级还是在一个基础类中定义,过载都会生效. publi ...

  3. java 字符串函数_Java字符串函数– 25+必须知道方法

    java 字符串函数 Java字符串函数 (Java String Functions) Java String class has a lot of functions to manipulate ...

  4. java中函数的调用,java中如何调用函数

    java动态调用函数,Java 中使用动态代码,java函数调用,java中如何调用函数 如何在 Java 中调用 C 函数 宗薇 [期刊名称]<网络新媒体技术> [年(卷),期]2000 ...

  5. java反射回调函数_用J2V8注册Java回调函数

    J2V8是一套针对谷歌的V8 JavaScript引擎的Java绑定.J2V8的开发为Android平台带来了高效的Javascript的执行环境,taris.js 就是基于J2V8开发的.J2V8同 ...

  6. java compareTo 整数_Java中的compareTo()函数是怎么用的?

    展开全部 compareTo() 方法用于将 Number 对象与方32313133353236313431303231363533e4b893e5b19e31333366306535法的参数进行比较 ...

  7. 使用Java中的equals()和compareTo()方法比较字符串

    Given strings and we have to compare them using equals() and compareTo() method. 给定字符串,我们必须使用equals( ...

  8. java comparable排序_Java使用Comparable解决排序问题

    本文实例讲述了Java使用Comparable解决排序问题的方法.分享给大家供大家参考.具体实现方法如下: 一次举重竞赛的比赛规则是:选手的成绩以成功举起的总重量来排序,举起总重量多的排在前面:当举起 ...

  9. java input函数怎么用_Java函数习惯用法详解

    在Java编程中,有些知识 并不能仅通过语言规范或者标准API文档就能学到的.在本文中,我会尽量收集一些最常用的习惯用法,特别是很难猜到的用法. 我把本文的所有代码都放在公共场所里.你可以根据自己的喜 ...

最新文章

  1. ORACLE联机日志文件丢失或损坏的处理方法(转)
  2. 计算机网络实验二交换机配置Cisco,思科实验1计算机和交换机的ip地址设置
  3. poj2602(高精度模拟加法)
  4. 安卓java修改按钮大小_android弹出activity设置大小的方法
  5. python进阶书籍的推荐 知乎-推荐几本Python3相关书籍?最好分一下基础、进阶、高级...
  6. Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现
  7. 棋子--状态压缩dp
  8. c++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取,2013年计算机二级C++模拟试题十一及答案...
  9. 交叉线和直通线各自用于什么场合?为什么?_【小麓讲堂】偏振光与LCD、OLED、3D、AR到底有什么关系?...
  10. TensorFlow笔记(12) VGG16
  11. 重命名master分支
  12. mysql5.7服务端安装_windows安装 MySQL5.7服务端-Go语言中文社区
  13. 如何在JMP中快速实现报表的个性化与可视化?
  14. python下载vip素材_《自拍教程54》Python_批量下载1000个apk(附练手素材)
  15. 函数渐近界与算法性能分析
  16. 卡西欧计算器——三角函数的角度模式与弧度模式的切换
  17. string 析构崩溃 assign
  18. 计算机专业大创要求,“大创项目”推动计算机专业学生创新实践能力的提高
  19. 今天为什么还要阅读经典
  20. c语言分数乘法用指针,分数乘法练习题全套(整理打印版)

热门文章

  1. 设计模式--单例模式--静态内部类和枚举单例
  2. wstring 截取_string截取和拼接
  3. chatGpt搭建聊天机器人
  4. redis存储对象(通过JSON方式)
  5. Ajax-POST请求
  6. iOS之---优化应用
  7. 信创办公–基于WPS的PPT最佳实践系列 (删除图片背景)
  8. PHP小程序登录获取openid
  9. 纪念伟大的数学思想家冯.纽曼逝世60周年
  10. 【vn.py】 策略实盘自动交易