JAVA实例教程之5

教程5 算数运算学习程序

学习目标

5.1简单加法学习程序

小学生在刚刚开始学习数学运算的时候,需要不断地进行反复大量的练习,才能够迅速掌握这部分内容。下面开发一个简单的加法学习程序,能够产生加法运算让学生来学习提高。

编写程序如下:

1 package lesson5;

2

3 public class Operation1 {

4 int number1;

5 int number2;

6 void operate(int number1,int number2)

7 {

8 this.number1=number1;

9 this.number2=number2;

10 System.out.println(number1+"+"+number2+"=");

11 }

12 void showTitle()

13 {

14 System.out.println("请计算如下运算结果:");

15 }

16 public static void main(String args[])

17 {

18 Operation1 o1=new Operation1();

19 o1.showTitle();

20 o1.operate(1,2);

21 }

22 }

本程序中,定义了一个Operation1类。类中定义了两个int类型的变量number1和number2,分别用来存储参与运算的两个数字。第6~11行定义了一个operate函数用来产生一个加法运算。方法体内,第8、9行首先应用方法的参数对当前对象的number1和number2进行赋值,第11行完成了运算式的输出。第12~15行定义了方法showTitle,方法体内的14行打印了加法运算的提示信息。第16~22行是main函数,函数体内第18行首先定义了一个对象o1,接下来第19行调用了showTitle方法,最后o1调用了operate方法。

编译、运行程序,将得到如下结果:

请计算如下运算结果:

1+2=

5.2 引入随机数的加法学习程序

上述程序在使用中如果需要产生加法算式,需要事先确定两个加数,这样操作起来相对比较麻烦,而在实际使用中通常希望能够自动产生两个加数。

如果希望自动产生加数,就要用到随机数。

在Java语言中类Random用来产生随机数。因此,可以先用类Random生产一个对象,再通过这个对象生成随机数。Random在Java中完成的路径是java.util.Random,因此Random对象生成方式为:

java.util.Random 对象名=new java.util.Random();

可以看到如果这样定义比较麻烦,因此引入import语句。在程序的开始部分应用import引入java.util.Random,这样每次用到Random的时候,就可以直接使用了。例如:

Random 对象名= Random();

在Random的方法里面经常用到是nextInt(int n)方法。该方法返回一个伪随机数,它是从此随机数生成器的序列中取出的在 0(包括)和指定值(不包括)之间均匀分布的 int值。

修改程序如下:

1 package lesson5;

2 import java.util.Random;

3

4 public class Operation2 {

5 int number1;

6 int number2;

7 void operate()

8 {

9 Random r=new Random();

10 this.number1=r.nextInt(10);

11 this.number2=r.nextInt(10);

12 System.out.println(number1+"+"+number2+"=");

13 }

14 void showTitle()

15 {

16 System.out.println("请计算如下运算结果:");

17 }

18 public static void main(String args[])

19 {

20 Operation2 o1=new Operation2();

21 o1.showTitle();

22 o1.operate();

23 }

24 }

程序中,第2行引入了java.util.Random,以保证在程序中可以直接使用Random类来定义对象。第7~13行定义了operate方法,程序体内第9行定义了一个Random类的对象r,在第10、11行分别应用对象r调用nextInt(int)方法对number1和number2进行赋值,这样每次得到的number1和number2都是不同的值。

第18~24行是main方法,方法中应用新建立的对象o1调用oerate()方法实现运算式的输出。

编译、运行程序,程序运行结果为:

请计算如下运算结果:

0+3=

5.3 显示运算结果的加法学习程序

上述程序只是给出了算式,并没有给出运算结果,因此无法让学习者校验运算结果的正确与否。因此,为了提高学习效果,应该给出运算结果。这就需要计算上述的算式结果,并能够将结果返回。这就需要定义具有返回值的函数。具有返回值的函数定义方式为:

返回值数据类型 函数名(参数表)

{

语句块;

return 返回值;

}

修改程序如下:

1 package lesson5;

2 import java.util.Random;

3

4 public class Operation3 {

5 int number1;

6 int number2;

7 int operate()

8 {

9 Random r=new Random();

10 this.number1=r.nextInt(10);

11 this.number2=r.nextInt(10);

12 System.out.println(number1+"+"+number2+"=");

13 return number1+number2;

14 }

15 void showTitle()

16 {

17 System.out.println("请计算如下运算结果:");

18 }

19 void showResult(int result)

20 {

21 System.out.println("运算结果为:"+result);

22 }

23 public static void main(String args[])

24 {

25 Operation3 o1=new Operation3();

26 int result;

27 o1.showTitle();

28 result=o1.operate();

29 o1.showResult(result);

30 }

31 }

程序中第7~14行定义了一个具有返回值的方法operate(),方法体内第13行返回了运算的结果。第19~22行定义了一个showResult(int result)方法,用于显示运算结果。程序中第23~30行是main()方法,方法中第26行定义了一个int型变量result用来保存运算结果,第28行将运算结果的返回值赋给变量result,第29行将result作为参数赋给方法showResult,用于显示运算结果。

程序运行结果为:

请计算如下运算结果:

8+9=

运算结果为:17

当调用带有返回的方法时,方法的返回值可以直接作为其他的方法来进行使用。例如上述程序中可如下方式调用:

o1.showResult(o1.operate());

修改后的程序如下:

1 package lesson5;

2 import java.util.Random;

3

4 public class Operation3 {

5 int number1;

6 int number2;

7 int operate()

8 {

9 Random r=new Random();

10 this.number1=r.nextInt(10);

11 this.number2=r.nextInt(10);

12 System.out.println(number1+"+"+number2+"=");

13 return number1+number2;

14 }

15 void showTitle()

16 {

17 System.out.println("请计算如下运算结果:");

18 }

19 void showResult(int result)

20 {

21 System.out.println("运算结果为:"+result);

22 }

23 public static void main(String args[])

24 {

25 Operation3 o1=new Operation3();

26 o1.showTitle();

27 o1.showResult(o1.operate());

28 }

29 }

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值