一、初步认识方法

在面向对象编程中,类有两个重要部分,即数据和方法,方法有时也称为函数。

方法是一种根据代码的功能和用途将代码分组到特定块中的技术。将一个方法中的代码分组将有助于程序员开发程序。

要创建一个方法,必须做两件事,即定义方法和调用方法Java编程中的方法有两种类型,一种是没有返回值的方法,另一种是有返回值的方法。方法的返回值类型可以是整数、浮点数、字符串、数组或对象。具有返回值的方法也返回与返回值类型匹配的值。return关键字用于将值返回给方法。

1.学生姓名显示器V2

(1)创建应用程序的步骤:

① 创建名为DisplayStudentData的项目。

② 添加名称为DataForm的JFrame Form。

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

④ 添加一个变量名为DisplayButton的按钮,并更改“展示数据”的文本。

(2)在设计了程序显示之后,下一步是创建或定义一个名为DisplayData的方法,该方法将用于显示10个学生的名字。在定义方法之前,导入Vector类

import java.util.Vector;

(3)定义该方法代码如下:

Vector  data=new Vector();
public DataForm() {initComponents();
}
void DisplayData()
{data.add("依凡");data.add("春白");data.add("新槐");data.add("青筠");data.add("白云");data.add("盼夏");data.add("夜丹");data.add("醉芹");data.add("新柔");data.add("幼琴");listData.setListData(data);
}

插入代码如图所示:

(4)定义方法之后,下一步是调用方法。当单击“展示数据”按钮时,将调用DisplayData方法。调用DisplayData方法是通过使用代码DisplayData()来完成的

添加按钮事件的代码:

DisplayData();

如图所示

(5)运行项目并点击“展示数据”按钮,显示的应用程序如图所示

2.物品价格展示器

(1)创建应用程序的步骤:

① 创建名为Storeltem的项目。

② 添加名称为ItemForm的JFrame Form。

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

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

(2)定义getltemName方法和getltemPrice方法,代码如下:

String getItemName()
{String name="笔";return name;
}
int getItemPrice()
{int price=2;return price;
}

插入代码如图所示:

(3)在“显示商品”按钮的事件中调用这2个方法,添加代码:

txtltem.setText(getItemName());

txtPrice.setText(Integer.toString(getItemPrice()));

如图所示

(4)运行项目并点击“显示商品”按钮,显示的应用程序如图所示

二、带参数的方法

如果将处理的数据用作参数,则方法可以处理不同的数据。通过在方法中传递参数,该方法处理的数据将是动态的。

传递给方法的参数数量取决于需要,参数数量可以是一个或多个。

方法的参数实际上是将由方法处理的数据,因此参数的数据类型由要处理的数据类型决定。

3.昵称生成器

(1)创建应用程序的步骤:

① 使用名称GetFirstName创建项目。

② 添加名称为NameForm的JFrame Form。

③ 添加一个带有“完整命名”文本的标签,然后添加一个带有变量名的文本字段txtFul IName。

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

⑤ 添加标签 文本“昵称”,然后使用变量名添加文本字段txtFirstName。

(2)定义getFirstName方法,代码如下:

String getFirstName(String FullName)
{int pos=FullName.indexOf(' ');String txtfirstname=FullName.substring(0,pos);return txtfirstname;
}

插入代码如图所示:

(3)当单击“显示你的名字”按钮时,将调用getFirstName方法,添加代码:

String Fullname=txtFullName.getText();

txtFirstName.setText(getFirstName(Fullname));

如图所示:

(4)运行项目并点击“显示你的名字”按钮,显示的应用程序如图所示

4.货币转换器

(1)创建应用程序的步骤:

① 创建名为RMBConversion的项目。

② 添加名称为CurrencyForm的JFrame Form。

③ 添加一个带有文本“输入你的RMB”的标签,然后添加一个名为txtRmb的文本字段。使用所需的颜色更改背景颜色。

④ 添加标题为“Convert to”的面板,然后添加4个具有以下变量名称的单选按钮:rbUSD、rbEUR、rbJPY和rbRUB。属性更改每个单选按钮的文本以下文本:USD、EUR、JPY和RUB。将所有单选按钮放在面板内。

⑤ 添加一个按钮组,用于对单选按钮进行分组,并使用buttonGroupCurrency更改变量名。

⑥ 添加一个变量名为ConvertButton的按钮,并使用“转换”更改文本。

⑦ 要显示转换的结果,请添加文本“结果”的标签,然后添加变量名为txtResult的文本字段。使用所需的颜色更改背景颜色。

⑧ 添加一个标签作为Form窗口的标题,并使用“人民币货币转化器”更改“文本转换器”。

(2)分组单选按钮和定义ConverRMB方法,代码如下:

public CurrencyForm() {initComponents();buttonGroupCurrency.add(rbUSD);buttonGroupCurrency.add(rbJPY);buttonGroupCurrency.add(rbEUR);buttonGroupCurrency.add(rbRUB);
}
double ConvertRMB(double rmb,double exchangerate)
{double result;result=rmb/exchangerate;return result;
}

插入代码如图所示:

(3)分组单选按钮并定义ConvertRMB方法之后,下一步是为“转换”按钮创建事件并添加代码

double rmb,exchangerate,result;

if(!txtRmb.getText().isEmpty())

{

rmb=Double.parseDouble(txtRmb.getText());

if(rbUSD.isSelected())

exchangerate=7.0703;

else if(rbJPY.isSelected())

exchangerate=0.065604;

else if(rbEUR.isSelected())

exchangerate=7.7285;

else

exchangerate=0.08785;

result=ConvertRMB(rmb,exchangerate);  //调用ConvertRMB方法

txtResult.setText(String.format("%.3f", result));

}

如图所示:

(4)运行项目并点击“转换”按钮,显示的应用程序如图所示

5.字符数计算器

(1)创建应用程序的步骤:

① 使用名称CharacterCalculator创建项目。

② 添加名称为TextForm的JFrame Form。

③ 添加一个标签,上面写着“输入你的句子”,然后用变量名添加文本区域txtareaSentence。

④ 添加一个变量名为ProcessButton的按钮,并使用“执行”更改文本。

⑤ 用以下文本添加3个标签:“字符数”、“空格数”和“换行数”。然后用以下变量名添:3个文本字段:txtNumChar、txtNumSpace 和 txtNumNewline。

(2)定义CalculateChar方法,代码如下:

void CalculateChar(String sentence)
{int totalchar=0;int space=0;int newline=0;for(int i=0;i< sentence.length();i++){if(sentence.charAt(i)==' ')space++;//计算空间else if((int) sentence.charAt(i)==10)newline++;//计算换行符  elsetotalchar++;//计算字符}txtNumChar.setText(""+totalchar);txtNumSpace.setText(""+space);txtNumNewline.setText(""+newline);
}

插入代码如图所示:

(3)定义CalculateChar方法之后,下一步是在单击“Process”按钮时调用该方法并添加代码

String sentence=txtareaSentence.getText();

CalculateChar(sentence);

如图所示:

(4)运行项目并点击“执行”按钮,显示的应用程序如图所示

6.素数计算器

(1)创建应用程序的步骤:

① 创建名为PrimeNumbers的项目。

② 添加名称为NumbersForm的JFrame Form。

③ 添加一个带有文本“输入一个数字”的标签,然后添加一个带有变量名txtNumber的文本字段。

④ 添加文本“总和”的标签,然后添加变量名为txtTotal的文本字段。用想要的颜色改变文本框的背景颜色。

⑤ 添加文本“素数”的标签,然后添加变量名为listPrimeNumbers的列表。还可以用所需的颜色更改列表的背景颜色。它的列表将用来显示素数。

⑥ 添加一个变量名为ProcessButton的按钮,并使用“执行”更改文本。

(2)在定义方法之前,导入Vector类

import java.util.Vector;

(3)定义IsPrime方法和DisplayPrime方法,代码如下:

boolean IsPrime(int number)
{int sqrt=(int) Math.sqrt(number)+1;for (int i=2;i< sqrt;i++){if(number%i==0){return false;}}return true;
}
void DisplayPrime(int number)
{int total=0;Vector primenumbers=new Vector();for(int i=2;i<=number;i++){if(IsPrime(i)) //传给IsPrime方法{primenumbers.add(i);total+=i;}}listPrimeNumbers.setListData(primenumbers);//显示列表中的质数txtTotal.setText(""+total);//在文本字段中显示总计
}

插入代码如图所示:

(4)下一步是在单击“执行”按钮时调用DisplayPrime方法。下面是“执行”按钮的事件

int number;

if(!txtNumber.getText().isEmpty())

{

number=Integer.parseInt(txtNumber.getText());

DisplayPrime(number);

}

如图所示:

(5)运行项目并点击“执行”按钮,显示的应用程序如图所示

三、如何重载方法

方法重载是一种编程技术,它允许两个或多个方法具有相同的名称,但具有不同类型的参数。通过使用重载技术,可以创建两个或多个具有相同名称的方法,但每个方法具有不同的参数。只有当我们希望方法处理不同类型的数据时,才能对方法进行重载。两个同名的方法能够处理不同类型的数据。

7.圆面积周长计算器

(1)创建应用程序的步骤:

① 创建名称为Circle的项目。

② 添加名称为CircleForm的JFrame Form。

③ 添加文本“半径”的标签,然后添加变量名为txtRadius的文本字段。使用所需的颜色更改文本字段的背景颜色。

④ 添加两个具有以下变量名的按钮:CalculateIntButton和CalculateDoubleButton,然后使用以下文本更改每个按钮的文本:“计算整数”和“计算小数。

⑤ 添加两个文本标签:“面积”和“周长”,然后添加两个文本字段,变量名为txtArea和txtCircumference。改变每个按钮的背景颜色与所需的颜色。

(2)定义CalculateArea方法和CalculateCircumference方法,代码如下:

int CalculateArea(int r)
{int result=(int)(Math.PI*r*r);return result;
}
double CalculateArea(double r)
{double result=Math.PI*r*r;return result;
}
int CalculateCircumference(int r)
{int result=(int)(4*Math.PI*r);return result;
}
double CalculateCircumference(double r)
{double result=4*Math.PI*r;return result;
}

插入代码如图所示:

(3)定义并重载这两个方法之后,下一步是为每个按钮创建事件

private void CalculateIntButtonActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if(!txtRadius.getText().isEmpty())

{

int r=(int)Double.parseDouble(txtRadius.getText());

int area=CalculateArea(r);

int circumference=CalculateCircumference(r);

txtArea.setText(""+area);

txtCircumference.setText(""+circumference);

}

}

private void CalculateDoubleButtonActionPerformed(java.awt.event.ActionEvent evt) {           // TODO add your handling code here:

if(!txtRadius.getText().isEmpty())

{

double r=Double.parseDouble(txtRadius.getText());

double area=CalculateArea(r);

double circumference=CalculateCircumference(r);

txtArea.setText(String.format("%.4f",area));

txtCircumference.setText(String.format("%.4f",circumference));

}

}

如图所示:

(4)运行项目并点击“计算整数”、“计算小数”按钮,显示的应用程序如图所示

8.年龄计算器

(1)创建应用程序的步骤:

① 创建名为DisplayingData的项目。

② 添加名称为DataForm的JFrame Form。

③ 添加一个带有文本“输入你的名字”的标签,并添加一个带有变量名txtName的文本字段。

④ 添加一个带有文本“生日”的标签,然后添加一个用于输入生日的格式化字段控件。使用ftxtBirthdate更改格式化字段的变量名。

⑤ 添加一个变量名为DisplayButton的按钮,并使用“执行”更改文本。

⑥ 要显示结果,请添加两个具有以下文本的标签:“昵称”和“年龄”,然后添加两个具有以下变量名称的文本字段:txtNickname和txtAge。

⑦ 添加一个标签作为表格的标题,并更改文本为“年龄计算器。

(2)更改生日格式为“dd-MM-yyyy”,通过Formatterfactory属性设置Formatted Field的掩码。

① 在Formatterfactory窗口中有几个格式类别的选择,选择mask→costume的类别

②然后在Format部分输入##-##-####,这将表示dd-MM-yyyy日期输入格式。

(3)设置了Formatted Field的掩码之后,下一步是定义和重载DisplayData方法。在定义方法之前,需要导入几个将在本例中使用的类

import java.util.Date;

import java.text.SimpleDateFormat;

import java.text.DateFormat;

import java.util.Calendar;

(4)定义和重载方法的代码:

void DispalyDate(String name)
{int pos=name.indexOf(' ');String nickname=name.substring(0,pos);txtNickname.setText(nickname);
}
void DispalyDate(Date birthdate) throws Exception
{Calendar now=Calendar.getInstance();Calendar BirthDate=Calendar.getInstance();int age =0;BirthDate.setTime(birthdate);if(BirthDate.after(now)){throw new Exception("生日不应该是将来的日期");}age=now.get(Calendar.YEAR)-BirthDate.get(Calendar.YEAR);if((BirthDate.get(Calendar.DAY_OF_YEAR)-now.get(Calendar.DAY_OF_YEAR)>3)
||(BirthDate.get(Calendar.MONTH)>now.get(Calendar.DAY_OF_MONTH))){age--;}else if((BirthDate.get(Calendar.MONTH)==now.get(Calendar.MONTH))
&& (BirthDate.get(Calendar.DAY_OF_MONTH)>now.get(Calendar.DAY_OF_MONTH))){age--;}txtAge.setText(age+"年");
}

插入代码如图所示:

(5)定义并重载方法之后,下一步是为“执行”按钮创建事件

try{

String name=txtName.getText();

String date =ftxtBirthdate.getText();

DateFormat df=new SimpleDateFormat("dd-MM-YY");

Date birthdate=df.parse(date);

DispalyDate(name);

DispalyDate(birthdate);

}catch(Exception e){

}

如图所示:

(6)运行项目并点击“执行”按钮,显示的应用程序如图所示

四、如何创建递归方法

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

9.表白神器V2

(1)创建应用程序的步骤:

① 创建名为RecursiveDisplay的项目。

② 添加名为StringForm的JFrame Form。

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

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

(2)在定义方法之前,导入Vector类

import java.util.Vector;

(3)定义Display方法,代码如下:

Vector data=new Vector();
public StringForm(){initComponents();
}
void Display(int n)
{if(n>1)Display(n-1);data.add("是喜欢,不是一点喜欢是好多,是最喜欢"+n);
}

插入代码如图所示:

(4)定义并重载这两个方法之后,下一步是为每个按钮创建事件

Display(10);

listString.setListData(data);

如图所示:

(5)运行项目并点击“表白”按钮,显示的应用程序如图所示

10.阶乘计算器

(1)创建应用程序的步骤:

① 以的Factorial名称创建项目。

② 添加名称为FactorialForm的JFrame Form。

③ 添加“数字”文本标签,然后添加变量名为txtNumber的文本字段。

④ 添加一个变量名为FactorialButton的按钮,并使用“获得阶乘”更改文本。

⑤ 添加文本“阶乘”的标签,然后添加变量名为txtFactorial的文本字段。

(2)定义FindFactorial方法,代码如下:

int FindFactorial(int n)
{if(n==0)return 1;elsereturn (n * FindFactorial(n-1));// 递归过程(recursion process)
}

插入代码如图所示:

(3)定义方法之后,下一步是在单击按钮时调用方法。下面是按钮的事件

if(!txtNumber.getText().isEmpty())

{

int number=Integer.parseInt(txtNumber.getText());

int result=FindFactorial(number);

txtFactorial.setText(result+"");

}

如图所示:

(4)运行项目并点击“获得阶乘”按钮,显示的应用程序如图所示

#在NetBeans IDE完成项目1.学生姓名显示器V22.物品价格展示器3.昵称生成器4.货币转换器5.字符数计算器6.素数计算器7.圆面积周长计算器8.年龄计算器9.表白神器V210.阶乘计算器相关推荐

  1. netbeans基于mysql学生信息_学生信息管理系统的设计与实现(NetBeans IDE,MySQL)

    学生信息管理系统的设计与实现(NetBeans IDE,MySQL)(任务书,开题报告,中期检查表,文献综述,外文翻译,毕业论文16000字,程序代码,MySQL数据库) 本系统是在管理信息系统的理论 ...

  2. python基础——while循环(九九乘法表,阶乘计算器,三角形图案打印输出)

    python基础--while循环(九九乘法表,阶乘计算器,三角形图案打印输出) 一.目的 本人最近在学习python的基础语法,此文章用来记录学习过程所用,本文章讲述的是while循环的一些基础实例 ...

  3. 4递归实现阶乘计算器 5递归实现TreeView绑定表MenuTree

    4递归实现阶乘计算器 aspx: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBo ...

  4. 10-224 查询比“网络工程”专业所有学生年龄都小的学生姓名

    分数 10 全屏浏览题目 切换布局 作者 张庆 单位 集美大学 本题目要求编写SQL语句, 查询比"网络工程"专业所有学生年龄都小的学生姓名. 表结构: 请在这里写定义表结构的SQ ...

  5. 亲戚称谓计算机在线,过节神器 | 亲戚称谓计算器,帮你捋顺亲戚关系!

    原标题:过节神器 | 亲戚称谓计算器,帮你捋顺亲戚关系! 你儿子是我儿子的爸爸,你是我的什么? 这个问题 被不同的人 解读出了不同的答案 是被问者的儿媳 是公公 是婆婆 是被问者的儿子 是爸爸 是妈妈 ...

  6. 假定要建立一个学校科研项目管理的信息系统,需要管理如下信息: •教师:教师编号、教师姓名; •项目:项目编号、项目名称、资助额; •学生:学生编号、学生姓名、学位,学生按学位分为本科生和研究生。

    题目要求 假定要建立一个学校科研项目管理的信息系统,需要管理如下信息: 教师:教师编号.教师姓名: 项目:项目编号.项目名称.资助额: 学生:学生编号.学生姓名.学位,学生按学位分为本科生和研究生. ...

  7. 查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄.,带有ANY(SOME)或ALL谓词的子查询...

    子查询返回单值时可以用比较运算符,但返回多值时要用ANY(有的系统用SOME)或ALL谓词修饰符.而使用ANY或ALL谓词时则必须同时使用比较运算符.其语义为: >  ANY 大于子查询结果中的 ...

  8. SQL实现输出每个专业年龄最大、最小的学生姓名及其年龄

    SQL实现输出每个专业年龄最大.最小的学生姓名及其年龄 现有3张表格,Student,KC,XS_KC,分别代表学生信息表,课程信息表以及学生成绩表,而Student中有每个学生专业.年龄信息,现需要 ...

  9. python 阶乘计算器

    # python 阶乘计算器 i = 1 result = 1 while i <= 20:print(i)result = result * iprint(result

最新文章

  1. Python的内存管理、命名规则、3个特性讲解
  2. vbsedit无法创建空文档_创建恢复驱动器(U盘)
  3. [JavaWeb-JavaScript]JavaScript_Array数组对象
  4. 《测试驱动开发》读书笔记
  5. mcq 队列_MCQ | 量子密码学
  6. 结构化分析和面向对象分析的区别 例子_管理游戏测评例子
  7. java 截取汉字首字母,java 取汉字首字母
  8. WYSIWYG的意思。
  9. CocoaPods详解之----制作篇
  10. Poj 1006 / OpenJudge 2977 1006 Biorhythms/生理周期
  11. phpcmsv9 更换域名出现页面无法访问后怎么办
  12. Atitit 提升开发效率总结 目录 1. declara dynamic Dsl化 fp script 1 1.1. 各种语法新特性 linq等 2 1.2. duck typing。 2
  13. 关于idea注释等颜色设置
  14. EasyRecovery2022强力数据恢复软件
  15. comsol 超声声场模拟_COMSOLMultiphysics模拟室内的声场特征模态.PDF
  16. 打印机修复工具_打印机常见故障排除及修复方法
  17. im即时通讯开发:高可用、易伸缩、高并发的IM群聊、单聊架构方案设计
  18. 查找 Mac 的机型名称和序列号四种方法
  19. 2920集五福_支付宝集五福攻略 ▏顺便学点营销活动传播套路
  20. android surfaceview 背景颜色,android – 设置Surface View的背景颜色

热门文章

  1. vue-seamless-scroll大屏抽奖滚动动画实例
  2. rabbitmq User can only log in via localhost
  3. PubWin不知道密码情况下卸载
  4. python中abs和fabs的区别_Python - abs vs fabs
  5. java兔子繁殖总数_兔子繁殖问题即斐波那契数列的java实现
  6. Android之UiAutomator测试框架源码分析(第二十四篇:ByMatcher相关功能介绍)
  7. 3D动作绑定_3D动漫制作软件,你知道几个?
  8. [转载]做数学是倒过来的(林群)
  9. SQL语句中查找字符的位置
  10. hosts : IP - 主机名/域名映射