我是Java的新手,我自己也在学习.我尝试重载方法时遇到了麻烦.这是代码

public static void main(String[] args) {

calculateScore();

calculateScore(500);

calculateScore("Duy", 600);

calcFeetAndInchesToCentimetres(100, 3.5);

calcFeetAndInchesToCentimetres(100*12 + 3.5);

}

public static double calcFeetAndInchesToCentimetres(double feet, double inches) {

if (feet >= 0 && inches >= 0 && inches <= 12) {

double footToInches = feet * 12;

double centimetres = (inches + footToInches) * 2.54;

System.out.println("The value in centimetres is " + centimetres + " cm.");

return centimetres;

} else {

return -1;

}

}

public static double calcFeetAndInchesToCentimetres(double inches) {

if (inches >= 0){

double inchesToFeet = inches / 12;

double inchesRemain = inches - (inchesToFeet * 12);

calcFeetAndInchesToCentimetres(inchesToFeet, inchesRemain);

return 0;

} else {

return -1;

}

我的问题是当我从第二种方法中获取返回0时,调试器会说“缺少return语句”.然后我尝试将返回calcFeetAndInchesToCentimetres(inches);,它可以工作,但程序运行了大约数千次.

然后我把返回0,一切都OK.但我不明白为什么我不能把返回calcFeetAndInchesToCentimetres(英寸);当上面的方法(带有2个参数)得到它时,为什么我需要一个return语句.如果我想在执行第二种方法时转换厘米的值(仅使用“inches”参数),我该怎么做?

我在块代码中意识到的另一件事

double inchesToFeet = inches / 12;

double inchesRemain = inches - (inchesToFeet * 12);

calcFeetAndInchesToCentimetres(inchesToFeet, inchesRemain);

inchesRemain将为0?但该方法效果很好.当我改变inchesToFeet =英寸%12时,它只是没有显示任何内容.为什么?

解决方法:

它应该只是:

public static double calcFeetAndInchesToCentimetres(double inches) {

if (inches >= 0){

double inchesToFeet = inches / 12;

double inchesRemain = inches - (inchesToFeet * 12);

return calcFeetAndInchesToCentimetres(inchesToFeet, inchesRemain);

} else {

return -1;

}

}

你说你已经尝试过返回calcFeetAndInchesToCentimetres(英寸);但这只是递归地调用你的方法而且它会永远递归,因为没有停止条件.

标签:java,return,overloading,methods

来源: https://codeday.me/bug/20190724/1524847.html

java 重载 返回_java – 返回方法重载相关推荐

  1. 学习-Java继承和多态之方法重载

    第1关:学习-Java继承和多态之方法重载 任务描述 相关知识 编程要求 测试说明 任务描述 本关任务:使用重载方法为 Student 类创建三个构造方法. 相关知识 Java 中重载是指一个类中可以 ...

  2. java关于重写正确,在Java中,以下关于方法重载和方法重写描述正确的是( )

    在Java中,以下关于方法重载和方法重写描述正确的是( ) 答:方法重写的返回值类型必须相同或相容.(或是其子类) 对乙酰氨基酚临床用途是抗炎抗风湿作用 答:错 观念艺术是哲学的反思,传统的理论可以对 ...

  3. scala 方法重载_Scala中的方法重载

    scala 方法重载 Scala方法重载 (Scala method overloading) Method overloading is a method that is redefined in ...

  4. Java基础03 构造器与方法重载

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initial ...

  5. 粤嵌星计划打卡第二十一天(java面型对象:方法重载)

    文章目录 1.定义一个函数实现输出一个长方形 1.1 void就是省略了return(就是可以简单的省事) 2重载 2.1 重载的概念 2.2 重载小练习 3函数在内存中的调用过程 1.定义一个函数实 ...

  6. java 反余弦_Java acos() 方法

    Java acos() 方法 acos() 方法用于返回指定double类型参数的反余弦值. 语法 double acos(double d) 参数 d -- 任何原生数据类型. 返回值 返回指定do ...

  7. java 重写函数_JAVA函数的重载和重写

    一.什么是重载(overlording) 在JAVA中,可以在同一个类中存在多个函数,函数名称相同但参数列表不同.这就是函数的重载(overlording).这是类的多太性表现之一. 二.重载的作用: ...

  8. java重写和重载 关键字_Java重写和重载的区别

    一.重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 二.重载(Overload) 重载(overloading) 是 ...

  9. java json自定义_java返回json设置自定义的格式

    springMvc返回Json中自定义日期格式 (一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annota ...

最新文章

  1. 一个查看全部用户的磁盘空间使用情况的脚本
  2. Cissp-【第4章 通信与网络安全】-2021-3-12(408页-445页)
  3. WIndows下AppAche服务中调试php页面出现警告:Call to undefined function mysql_connect()
  4. matlab fftshift_matlab下实现FFT信号分析
  5. 【NOIP普及组】2016模拟考试(10.29)——排座椅
  6. 388. 文件的最长绝对路径
  7. sqlite3 可视化工具 linux,【SQLite3下载】SQLite3可视化工具 v3 3.27.2 官方版-开心电玩...
  8. edup网卡 linux,应用笔记--使用USB WiFi网卡
  9. 架构师架构蓝图《UML精粹》 UML Distilled读后感
  10. 模拟电子技术基础(一)
  11. 【所见即所得】数据分析最有用的25个 Matplotlib图【附代码】
  12. cvc降噪和主动降噪_蓝牙耳机降噪功能CVC好还是DSP?
  13. 男人必看十大电影 VS 女人必看十大电影
  14. 重置Win10网络网卡命令
  15. 送书【新书】 |《python数据科学实战》
  16. google的一些秘密入口 很好玩
  17. actuator--基础--6.1--端点解析--health端点
  18. 【食品化学与营养】第一章 绪论 笔记
  19. 每日新闻 | 特斯拉“太空跑车”完成第一圈绕日飞行 向火星靠近
  20. 解决虚拟机中Win7系统无法安装vmware tools问题

热门文章

  1. 数据结构实验之二叉树六:哈夫曼编码
  2. Effective C++ --4 设计与声明
  3. 二、安装Spark集群
  4. cv::Exception问题
  5. Java数据结构和算法(二)——数组
  6. 机器视觉:图像与视频朝向检测
  7. java 常用十种设计模式示例归纳 | 已打包请带走
  8. Spring MVC Hello World 例子
  9. 机器学习数据挖掘笔记_14(GMM-HMM语音识别简单理解)
  10. Stanford UFLDL教程 梯度检验与高级优化