文档详情

面向对象-教案(第6讲).doc

发布:2025-06-09约2.7千字共4页下载文档
文本预览下载声明

PAGE5

《面向对象程序设计》教案

第6讲

教学对象

计算机科学技术专业

授课内容

3.6案例学习:打印输出若干素数

3.7案例研究:求最大公约数

课程标准

教学目标

(一)知识目标

掌握Java各种循环结构

(二)能力目标

1.能够掌握java语言语法、流程控制等专业基础知识

2.能够掌握软件开发工具如开发平台、测试平台、配置管理软件和项目管理软件的使用方法

教学方法

课前预习、课堂讲授、课堂和课后练习。

学时及分配(第1学时50分钟)

课堂讲授20分钟

课堂练习30分钟

3.6案例学习:打印输出若干素数

3.7案例研究:求最大公约数

学时及分配(第2学时50分钟)

课堂讲授20分钟

课堂练习30分钟

编程实践

知识点分析

重点:

掌握Java各种循环结构,包括while循环、do-while循环和for循环。

难点:

for循环

教学过程设计

内容

方式

问题导入

上一次课学习了循环结构:while循环、do-while循环、for循环。

一般情况下,一个循环结构包含四部分内容:

(1)初始化部分:设置循环开始时变量初值。

(2)循环条件:一般是一个布尔表达式,当表达式值为true时执行循环体,为false时退出循环。

(3)迭代部分:改变变量的状态。

(4)循环体:需要重复执行的代码。

内容要点

3.6案例学习:打印输出若干素数

1.问题描述

素数(primenumber)又称质数,有无限个,在计算机密码学中有重要应用。素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数。编写程序计算并输出前50个素数,每行输出10个。

2.设计思路

该案例的设计思路主要如下:

(1)要输出50个素数,首先用while循环对素数计数(用count变量)。

(2)要判断的数number从2开始,这里用一个for循环。根据定义,使用从2开始的数(divisor)去除要判断的数,如果直到divisor=number-1仍不能整除,则number就是一个素数。

(3)打印输出素数。为了输出美观,可以使用格式化输出方法,这里使用了System类的printf()方法,它可以对输出数据进行格式化。

3.代码实现

计算并输出前50个素数的代码如程序3-13所示。

【程序3-13】PrimeNumber.java

packagecom.boda.xy;

publicclassPrimeNumber{

publicstaticvoidmain(String[]args){

intcount=0;//记录素数个数

intnumber=2;

booleanisPrime;

System.out.printf(前50个素数如下:%n);

while(count50){

isPrime=true;

for(intdivisor=2;divisornumber;divisor++){

判断number是否是素数,若循环结束number仍不能被divisor整除,则number是一个素数。

判断number是否是素数,

若循环结束number仍不能被divisor整除,

则number是一个素数。

isPrime=false;

break;

}

}

if(isPrime){

如果number是素数,计数器加1,并打印素数count++;

如果number是素数,计数器加1,并打印素数

if(count%10==0)

格式化输出。System.out.printf(%5d%n,number);

格式化输出。

else

System.out.printf(%5d,number);

}

判断下一个数number++;

判断下一个数

}

}

}

3.7案例研究:求最大公约数

1.问题描述

两个整数的最大公约数(GreatestCommonDivisor,GCD)是能够同时被两个数整除的最大整数。例如,4和2的最大公约数是2,16和24的最大公约数是8。

编写程序,要求从键盘输入两个整数,程序计算并输出这两个

显示全部
相似文档