为什么return语句在方法中使用数学函数时会引发错误。
public class HCF_1 {
static int hcf(int a, int b)
{
int res = Math.max(a,b);
while(true)
{
if(res%a==0 && res%b==0)
return res;
else res++;
}
return res;
}
public static void main(String[] args) {
System.out.println(hcf(5,25));
}
}
这可能有帮助,也可能没有帮助,但是IMOwhile(true)
语句是一种真正的代码味道。您可以将此方法重写为:
public class HCF_1 {
static int hcf(int a, int b)
{
int res = Math.max(a,b);
while(res % a != 0 || res % b != 0)
res++;
return res;
}
public static void main(String[] args) {
System.out.println(hcf(5,25));
}
}
现在只有一个return语句,没有快捷方式。
注意,操作!(res%a==0&res%b==0)
与res%a!=0res%b!=0
相同,这是由于布尔逻辑的属性:~(a和b)==~a或~b
。
新的ES6箭头函数表示在某些情况下是隐式的: 表达式也是该函数的隐式返回值。 在什么情况下,我需要将与ES6箭头函数一起使用?
return语句用来从一个函数 返回 即跳出函数。我们也可选从函数 返回一个值 。 使用字面意义上的语句 例7.7 使用字面意义上的语句 #!/usr/bin/python # Filename: func_return.py defmaximum(x, y): ifx > y: returnx else: returny printmaximum(
问题内容: 我是Java的新手,这是什么意思?像吗? 如果第二个返回true,将不会执行,对吗? 问题答案: Return语句跳过功能范围的其余执行。 值得读: :http : //docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html :http : //docs.oracle.com/javase/tutorial/java/n
问题内容: 运行以下代码时(在Mac OS X 10.7的Mac上为Python 2.7.1) 我收到以下错误 我已经仔细检查了错误的制表符和/或空格。当我使用推荐的4个缩进空格时,可以确认代码失败并出现上述错误。当将返回值置于其他控制语句内时(例如,if,for等),也会发生此行为。 任何帮助,将不胜感激。谢谢! 问题答案: 在 返回 的语句才有意义,里面的功能:
我还检查了调试,它将语句=>if(sum==1)返回true;但它也在执行更多的语句。
问题内容: 我编写了一个打印表格的程序。我没有在主函数中包含返回语法,但是无论何时我键入echo $?它显示12。 我的源代码: 我尚未编写return 12,但每次执行程序时它仍返回12。 谢谢。 问题答案: 正如swegi所说,这是未定义的行为。 正如史蒂夫·杰索普(Steve Jessop)等人所说,在C89之前,它是一个未指定的值,并在C99中指定(观察到的行为与C99不符)。 在大多数环