任务单元5:使用方法

  本单元将讨论如何在方法中对程序代码进行分组,也将详细讨论方法的基础知识、具有返回值的方法以及如何将参数传递给方法。如何重载方法,以及如何使递归方法。方法是一种根据代码的功能和用途将代码分组到特定块中的技术。要创建一个方法,必须做两件事,即定义方法和调用方法,有两种类型 一种是没有返回值的方法,另一种是有返回值的方法。

  一、在定义没有返回值的方法时,将void 关键字用作前缀,然后与方法名一起使用。将用于显示数据处理结果的方法可以命名为DisplayResults。

以下案例则是展示如何在程序中创建方法:

案例1是如何在一个列表框中显示10个学生的名字:

步骤是:

① 创建名为DisplayStudentData的项目。

② 添加名称为DataForm的JFrame Form。

③ 用变量名listData添加一个列表。

④ 添加一个变量名为DisplayButton的按钮,并更改“展示数据”的文本。 第一次运行时的应用程序显示如图:

 在设计了程序显示之后,下一步是创建或定义一个名为DisplayData的方法,该方法将用于显示10个学生的名字。在定义方法之前,必须使用以下代码导入Vector类:import java.util.Vector;

下图是定义该方法的代码:

定义方法之后,下一步是调用方法。当单击“展示数据”按钮时,将调用DisplayData方法:

最后单击按钮时显示的应用程序如图:

 

以下案例则展示如何定义具有返回值的方法:

案例2展示如何显示商品的详细信息,其中包括商品的名称和单价。

步骤是:

① 创建名为Storeltem的项目。

② 添加名称为ItemForm的JFrame Form。

③ 添加两个文本标签:“商品”和“价格”,然后添加两个文本字段,其中变名为txtltem和txtPrice。

④ 添加一个变量名为DisplayButton的按钮,并更改文本为“显示商品”。

下图是第一次运行时的应用程序显示:

下图定义getltemName方法和getltemPrice方法的代码:

下一步是在“显示商品”按钮的事件中调用这2个方法。代码如图:

 单击按钮时显示的应用程序如图:

 带有返回值的方法调用与没有返回值的方法调用的方法相同。从案例1和案例2中,我们学会了如何定义和调用用于显示数据的简单方法。以这种方式定义方法使处理的数据成为静态的。但是这个方法不能处理不同的数据。

 二、下一个任务是带参数的方法:将处理的数据用作参数,则方法可以处理不同的数据。在方法中传递参数,该方法处理的数据将是动态的。方法的参数实际上是将由方法处理的数据,因此参数的数据类型由要处理的数据类型决定。

案例3是昵称生成器,程序将要求用户输入学生的全名,然后程序将分离并显示第一个名字作为该人的昵称。程序提供了一个名为getFirstName的方法,该方法有一个名为FulIName的字符串参数。当单击“显示你的名字”按钮时,程序将显示你的名字。

下图是第一次运行时的应用程序显示:

 下图是定义getFirstName方法的代码:

当单击“显示你的名字”按钮时,将调用getFirstName方法。下图是按钮事件的代码:

单击按钮时显示的应用程序如图:

当定义一个带有参数的方法时,那么当调用该方法时,我们必须传递一个与方法参数具有相同类型的值。传递给方法的值或参数的数量必须与方法定义时的参数数量相同。

三、如何重载方法

方法重载是一种编程技术,它允许两个或多个方法具有相同的名称,但具有不同类型的参数

下面的案例是将计算圆的周长和面积,要求用户输入你要计算的圆的半径。程序提供了名为CalculateArea和CalculateCircumference的两种方法来计算圆的面积和周长。这两个方法都将被重载,以便处理的数据可以是int或double类型。当半径为整数时,“计算整数”按钮将用于计算圆的面积和周长。按钮会调用CalculateArea方法和CalculateCircumference方法来处理double类型的参数。

下图是第一次运行时的应用程序显示如图:

下图定义CalculateArea方法和CalculateCircumference方法的代码:

 定义并重载这两个方法之后,下一步是为每个按钮创建事件。下图两个按钮的事件代码:

下图是单击这两个按钮时显示的应用程序:

单击整数:

单机小数:

在案例的显示的应用程序中,我们可以看到如何定义和使用程序中的重载方法。通过重载CalculateArea方法和CalculateCircumference方法,使得这两个方法可以处理int和double类型的数据。调用重载方法的方法与通常的方法调用相同。

四、如何创建递归方法

递归方法是调用自身的方法。递归是一种允许方法调用自身的编程技术。递归方法将重复调用它自身,因此我们需要一个使调用停止的条件。使用递归方法解决问题与使用循环语句解决问题具有相同的工作原理。

下面的案例是演示如何在一个列表中使用10次递归地显示字符串“爱你一生一世”。显示名称的方法。当单击“表白”按钮时,字符串将被取消。

步骤是:

① 创建名为RecursiveDisplay的项目。

② 添加名为StringForm的JFrame Form。

③. 用变量名listString添加一个列表。

④ 添加一个变量名为DisplayButton的按钮,并用“表白”改变文本。

 下图是程序第一次运行结果:

在定义方法之前,必须使用以下代码导入Vector类:

 import java.util.Vector;

 下图是定义Display方法的代码

 

 下图是Display按钮事件的代码:

下图是单击按钮时显示的应用程序结果:

可以看到显示方法的递归过程是如何工作的。Display方法的递归过程将从最小的参数值开始调用自己,然后调用最大的参数值。上述所有案例都是本单元重要方法讲解的案例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值