我最近开始尝试使用return语句,对此我有一个小疑问-当我有一个调用另一个方法的方法时,将显示我正在调用的方法的return语句吗?

让我们举例说明一下

/** Program to test return statment */

public class Test

{

public static void main(int a)

{

EvenOrOdd(a);

}

private static boolean EvenOrOdd(int a)

{//I can declare as public and run directly but then what is the point in calling     the method?

if(a%2==0)

{

System.out.println("The output is true.");//Displays

return true;//Does not display(As in that window does not pop up with the result.)

}

else

{

System.out.println("The output is false.");//Displays

return false;//Does not display

}

}

}

如果我只是删除主方法(或者甚至公开第二个方法并直接运行该方法),则会显示我的return语句,但是如果我尝试调用该方法并运行程序,则不会显示我的return语句。

所以这只是我面临的问题,还是Java中的一般规则,即当您调用另一个方法(具有return语句)时return语句不起作用?

如果是后者,那么我道歉,我没有意识到这一点。

谢谢...

***UPDATE***

似乎没有人理解我的确切意思。 我再举一个例子

请运行以下程序:

/** Program to test Return statment;simple program to return sum of two digits */

public class Return_Test

{

public static int main(int a,int b)

{

return a+b;//What I am lloking for is that box in which this is displayed.

}

}

我看不到它应该显示的任何地方...

@Eran这是BlueJ,允许您接受希望作为主方法中的输入的任何数据类型。

好像您缺少System.out.println。添加此语句System.out.println(EvenOrOdd(a));以显示函数的返回

@JackSully BlueJ是学习编程基础的一种有用工具,它有助于推迟以后的复杂语法,即使没有终端I / O也可以检查返回值,例如System.out.println("),不确定如何完成后,我建议您采用这种学习方式或常规方式,即在忽略任何您不理解的关键字时尽早暴露自己的语法,以这种方式键入,然后在学习完该部分之后再进入该部分。您可以探索的基础知识...

@DroidIcs嗯...你是对的,我想我一定要有耐心。谢谢...

您必须了解,BlueJ只是通过尽早隐藏某些细节来帮助学习的工具,通常在通常情况下,main只能是public static void main(String [] args),并且返回x是什么; statement的意思是将x还给调用者,例如x=method(); int method(){int y=5;return y;},x仅分配给y,没有代码显示它,因此您应该放置System.out.println(x)或System.out之类的语句.println(method()); ..希望为您清除它

@DroidIcs是的,非常感谢!

return语句仅返回值,不显示

如果您不了解返回值,如何显示它?添加类似的东西,然后尝试

public class Test

{

public static void main(int a)

{

boolean temp=EvenOrOdd(a);

if(temp)

System.out.println("Output is True");

else

System.out.println("Output False(not even )");

//Or you can directly call the method as' System.out.println(EvenOrOdd));'

}

private static boolean EvenOrOdd(int a)

{//I can declare as public and run directly but then what is the point in calling     the method?

if(a%2==0)

{

System.out.println("The output is true.");//Displays

return true;//Does not display

}

else

{

System.out.println("The output is false.");//Displays

return false;//Does not display

}

}

}

并且请尝试学习一些好的命名约定,类的命名是这样的,

FirstSecond,TestException(每个单词以大写字母开头)等,方法以小写字母isPrime(),isEven(),

不@MadProgrammer,不。 不要做递归。 很好的建议,但不是操作员编程的方式。

我从没说过关于递归的任何事情...您只需要修改EvenOrOdd方法(来自原始答案),只需显示该方法的结果...

您的程序产生输出了吗?

许多其他响应者不知道的是,当您在BlueJ中运行一个方法时,它会执行该方法,并且如果该方法的返回值不是非无效的,则通过调用toString在弹出对话框中显示该方法。这就是发问者通过显示值来表示的意思。

用户最初问题的答案是,通过用无效返回值包围该方法,它"隐藏"了结果。所以这段代码:

public void callMe1(int a)

{

EvenOrOdd(a);

}

将不会显示退货。但是,如果您调整返回类型并实际返回内部调用的值:

public int callMe2(int a)

{

return EvenOrOdd(a);

}

然后,BlueJ将显示返回的值。显示方面取决于BlueJ,但是是否返回值的规则与Java中的规则相同。空意味着没有回报。

您从不实际显示方法的返回结果...

该方法的名称消耗了EvenOrOdd返回true或false是模棱两可的,也许isEven会更好...

您可以尝试类似...

System.out.println(a +" is even =" + EvenOrOdd(a));

您还应该避免在单个方法中使用多个return语句,否则可能会使该方法的实际工作方式变得令人困惑,在您的情况下,您可以同时降低过度复杂性,例如...

private static boolean isEven(int a)

{

boolean isEven = false;

if(a%2==0)

{

System.out.println("The output is true.");//Displays

isEven = true;//Does not display

}

return isEven;

}

首先将您的主签名从main(int a)更改为main(String [] args),否则您将收到以下运行时异常:

Error: Main method not found in class yourpackagename.Test, please define the main method as:

public static void main(String[] args)

好吧,您没有打印函数返回的值:

在您的main中执行以下操作:

System.out.println(EvenOrOdd(5));

仅供参考:"这是BlueJ,它允许您接受希望作为主方法输入的任何数据类型"

是的,我也从未用过它:P

在方法的正文中,使用return statement to return the value。它不会自行打印任何内容。

完成的更改-System.out.println(EvenOrOdd(5));

public class Test {

public static void main(String[] args) {

System.out.println(EvenOrOdd(5));

}

private static boolean EvenOrOdd(int a) {// I can declare as public and run directly but then what is the point in

// calling the method?

if (a % 2 == 0) {

System.out.println("The output is true.");// Displays

return true;// Does not display

} else {

System.out.println("The output is false.");// Displays

return false;// Does not display

}

}

}

输出量

The output is false.

false

java两个return_关于java:调用另一个方法时return语句不起作用相关推荐

  1. java方法的调用怎么跳出_JAVA 的一个方法调用另一个方法时,怎么把那个方法里的数据调用出来...

    例如:此例子中Calcute()方法调用dispMax()方法时,怎么把curCost的数据调用到publicListgetBidListByName1(Stringname)中来,,,谢谢大家来帮忙 ...

  2. java对象名不可以是_java运行一个方法时如何得到该个对象的名字(不是类的名字)....

    展开全部 可以通过StackTrace从栈顶往下62616964757a686964616fe4b893e5b19e31333332623239倒 String clsname = "Cla ...

  3. 字符串右移n位,例如 “hello world“ 右移两位 后ldhello wor 要求写一个方法实现此功能,方法的格式是 String moveToRight(String str,int po

    字符串右移n位,例如 "hello world" 右移两位 后ldhello wor 要求写一个方法实现此功能,方法的格式是 String moveToRight(String s ...

  4. java 两字符串相同,关于java:使用==比较两个相同的字符串将返回false

    本问题已经有最佳答案,请猛点这里访问. 我正在为我的家人制作档案.没有语法错误,但是每当我在"Maaz"中键入时,它将realName =="Maaz"计算为f ...

  5. java switch配合return_关于Java switch语句:关于Java switch语句 – 在每种情况下使用return和省略break...

    鉴于这种方法,这是否代表了一些令人震惊的风格或语义失误: private double translateSlider(int sliderVal) { switch (sliderVal) { ca ...

  6. java性能优化方案4——不要调用高开销方法

    4.不要调用高开销方法 有些方法的开销很大.以 N.O.P.E 分支为例,我们没有提到叶子的相关方法,不过这个可以有.假设我们的JDBC驱动需要排除万难去计算 ResultSet.wasNull() ...

  7. Java基础篇:为Box类添加一个方法

    尽管创建一个仅包含数据的类是相当不错的事情,但这样的情况很少发生.大部分情况是你将使用方法存取由类定义的实例变量. 事实上,方法定义大多数类的接口.这允许类实现函数可以把内部数据结构的特定布局隐蔽到方 ...

  8. Spring service本类中方法调用另一个方法事务不生效问题

    前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务定义,且网上的一种通过BeanPostProcessor的解决方案是存在问题的.因此专门写此篇帖子分析why. 1.预备知识 aop概 ...

  9. 在同一个类中调用另一个方法没有触发 Spring AOP 的问题

    实例: @Target(value = {ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @in ...

最新文章

  1. 全局声明宏定义_Rust语言:元编程,强大的宏系统,菜鸟到高手进阶的必经之路...
  2. C Primer Plus 第6章 C控制语句 6.16 编程练习及答案
  3. IHttpModule和IHttpHandler 应用笔记
  4. Theme,skin-----asp.net2.0 new technolog
  5. 今天终于把ati集成显卡的linux驱动装好了,看我的3D桌面!哈哈!(博客搬家 2007-07-28 15:56)
  6. UNWAVERING SPIRIT AND VALUES
  7. 英特尔首推物联网云平台设备管理
  8. React-引领未来的用户界面开发框架-读书笔记(七)
  9. android第一天-------环境搭建
  10. Linux oracle(常用命令)启动、停止、监听
  11. word里面给公式自动编号
  12. 自然语言处理从零到入门 成分句法分析
  13. Vue脚手架安装流程详解
  14. Elasticsearch汉字补全和拼写纠错
  15. The server encountered an internal error that prevented it from fulfilling this request的一种解决办法
  16. 只有浏览器显示找不到服务器dns
  17. TCP协议的三次握手和四次挥手
  18. 爱情小筑 v3.1 build 2002.07.26 免费下载
  19. 高考数学90分能学好计算机,我平时数学考试总考60多分,离高考还有一个月,我希望能通过努力考到90分,诸位有何好的方法...
  20. 【点云系列】基于图结构的点云快速重采样 翻译

热门文章

  1. 运用c++结束学校机房红蜘蛛控制软件
  2. 手机影音第十三天,xutils3、Glide的使用获取网络图片;下拉、上滑刷新;缓存网络资源...
  3. 51 nod 1405 树的距离之和
  4. python读取数据库数据,读取出的中文乱码问题
  5. 鸭子类型duck typing(动态)
  6. Java并发专题 带返回结果的批量任务执行 CompletionService ExecutorService.invokeAll(转)...
  7. nginx rtmp HLS直播
  8. Linux shell脚本中如何读取跟shell脚本同一目录下的配置文件
  9. 6426C Lab2 部署和配置证书服务
  10. 大学毕业后5年决定命运(强烈推荐一看)