java - 在 return 中写一个 if 语句

标签 java

我想用 java 编写一个计算平方根的程序,但不允许我使用数学模块

我的代码是

public class Quadratwurzel

public static double quadratwurzel(double x, int n) {
return(if (n == 0){x+1/2} else{0.5*quadratwurzel(x,n-1)+x/quadratwurzel(x,n-1)})}

我希望有人能向我解释为什么我不能在 return 中写一个 if/else 语句,因为在我的讲义中它说我们必须在 return 中写一个语句并且该语句被参数替换。

即如果我启动方法或函数

quadratwurzel(32.0,6)

然后 return 内部的函数体将被替换为:

(32.0,6)

因为

6!=1,5!=1,...2!=1

该方法将递归地再次启动 5 次,直到它终止。

这是我的想法,我想知道为什么这里的替换不能那样工作。

我希望有人能提供帮助并为我提供正确的想法代码

最佳答案

我相信您正在寻找三元运算符:

return condition ? value1 : value2;

关于java - 在 return 中写一个 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55853188/

相关文章:

java - 如何解释以 API 为中心的架构?

java - 创建 SAX 解析器时出错

java - Android 通过 URL 获取 JSON 数组

java - 内部 JFrame

java - 移动字节值

java - 如何通过soapUI发送pdf文件的数组字节

java - 如何从 JSONObject 填充字符串数组以在 ListView 中使用

java - 如何限制 CriteriaBuilder 查询中的记录数?

java - 运算符 '+' 不能应用于 'int' , 'java.lang.Object'

java - Spring 3.0.5 - java.awt.HeadlessException - com.trend.iwss.jscan