月度项目和支持训练题.docx

上传人:b****5 文档编号:2908020 上传时间:2022-11-16 格式:DOCX 页数:11 大小:21.52KB
下载 相关 举报
月度项目和支持训练题.docx_第1页
第1页 / 共11页
月度项目和支持训练题.docx_第2页
第2页 / 共11页
月度项目和支持训练题.docx_第3页
第3页 / 共11页
月度项目和支持训练题.docx_第4页
第4页 / 共11页
月度项目和支持训练题.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

月度项目和支持训练题.docx

《月度项目和支持训练题.docx》由会员分享,可在线阅读,更多相关《月度项目和支持训练题.docx(11页珍藏版)》请在冰豆网上搜索。

月度项目和支持训练题.docx

月度项目和支持训练题

4月月度项目和支持训练题(java基础).doc

月度项目及支持训练题

 

月度项目:

五子棋游戏

1.语言和环境

A、实现语言:

Java

B、实现技术:

JavaSE

C、环境要求:

NetBeans5.x或Eclipse3.x;

JDK1.5以上

2.要求

实现一个简单的单机控制台版五子棋游戏,实现黑白子交互下棋和判断输赢的算法等功能。

功能和页面设计要求:

正确的打印棋盘信息界面,下完棋子之后要求刷新棋盘信息界面,可以提示黑白子哪一方该下棋子,如果其中一方有一个方向五子紧密相连,程序可以判断出该方获胜。

可以做一些简单的验证以保证程序运行的时候不出问题,例如:

1、不能重复在已有棋子的地方下棋,如果在已有棋子的地方下棋,要求有提示信息“该位置已存在棋子”。

2、下棋的坐标不能超出棋盘的范围,如果超出要求有提示信息“输入的坐标越界”。

黑色棋子用“@”符号,白色棋子用“O”符号。

3.推荐实现步骤

1.设计程序

创建项目:

在开发环境中建立项目fivechessgame,建立正确的包名com.handson.game和类名FiveChess、测试类名FiveChessGameTest(要求符合Java编码规范)。

正确输出棋盘信息界面:

A、设计棋盘信息界面,界面如下图1所示。

图1棋盘信息界面

B、正确提示黑白子哪一方该下棋子,若是输入坐标正确并且不越界(该坐标上没有棋子并且该坐标不越界),则刷新棋盘信息界面,如下图2所示。

图2棋子落下后的界面

C、如果坐标越界或者在已有棋子的地方下棋。

如下图3、4所示:

图3坐标越界提示界面

图4已有棋子提示界面

D、如果黑白方有一方在某一个方向上有连续5个棋子,则该方获胜,如下图5所示:

图5某一方获胜界面

 

4.案例目的

学习java数据类型、循环结构、分支结构、数组、二维数组、异常处理等。

5.案例难度

★★★★

6.案例覆盖技能点

1、1、Java数据类型

2、2、循环、分支结构

3、3、一维数组

4、4、二维数组

5、5、异常处理

7.推荐案例完成时间

1天

8.适用课程和对象

JAVA编程基础

9.注意事项:

请注意代码的软件书写,实体类、测试类的命名规范

10.提交内容:

1.程序提交源代码以及工程文件。

2.个人进度表

 

11.考核评价点

序号

功能列表

功能描述

分数

说明

1

正确显示界面

 

 

必做

2

正确下棋

 

 

必做

3

界面刷新

 

 

必做

4

判断输赢

 

 

必做

5

继续下棋

 

 

必做

6

越界验证

 

 

必做

7

位置验证

 

 

选做

8

下棋提示

 

 

选做

 

 

支持训练题:

算法程序设计

1.语言和环境

A、实现语言:

Java

B、实现技术:

JavaSE

C、环境要求:

NetBeans5.x或Eclipse3.x;

JDK1.5以上

2.要求

按照要求实现下列算法题目

题目1:

将一个数组int[]arr=newint[]{0,7,6,5,8,9,1,2,4,3};先进行由大到小排序,然后再逆序输出。

题目2:

利用条件运算符的嵌套来完成此题:

学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.1.程序分析:

(a>b)?

a:

b这是条件运算符的基本例子。

 importjava.util.*;

publicclasslianxi05{

publicstaticvoidmain(String[]args){

    intx;

    chargrade;

    Scanners=newScanner(System.in);

    System.out.print("请输入一个成绩:

");

    x=s.nextInt();  

    grade=x>=90?

'A'

          :

x>=60?

'B'

          :

'C';

   System.out.println("等级为:

"+grade);

  

}

}

题目3:

输入三个整数x,y,z,请把这三个数由小到大输出。

1.1.程序分析:

我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

importjava.util.*;

publicclasslianxi15{

publicstaticvoidmain(String[]args){

    inputfnc=newinput();

    intx=0,y=0,z=0;

    System.out.print("输入第一个数字:

");

     x=fnc.input();

    System.out.print("输入第二个数字:

");

     y=fnc.input();

    System.out.print("输入第三个数字:

");

     z=fnc.input();   

   if(x>y){

     intt=x;

     x=y;

     y=t;

    }

   if(x>z){

     intt=x;

     x=z;

     z=t;

    }

   if(y>z){

     intt=y;

     y=z;

     z=t;

    }

   System.out.println("三个数字由小到大排列为:

"+x+""+y+""+z);

}

}classinput{

publicintinput(){

    intvalue=0;

    Scanners=newScanner(System.in);

    value=s.nextInt();

    returnvalue;

}

}

题目4:

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?

第10次反弹多高?

 publicclasslianxi10{

publicstaticvoidmain(String[]args){

     doubleh=100,s=100;

     for(inti=1;i<10;i++){

     s=s+h;

     h=h/2;

    }

    System.out.println("经过路程:

"+s);

    System.out.println("反弹高度:

"+h/2);

}

}

题目5:

企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

 

1.1.程序分析:

请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

 importjava.util.*;

publicclasslianxi12{

publicstaticvoidmain(String[]args){

    doublex=0,y=0;

    System.out.print("输入当月利润(万):

");

    Scanners=newScanner(System.in);

    x=s.nextInt();

    if(x>0&&x<=10){

    y=x*0.1;

    }elseif(x>10&&x<=20){

     y=10*0.1+(x-10)*0.075;

    }elseif(x>20&&x<=40){

     y=10*0.1+10*0.075+(x-20)*0.05;

    }elseif(x>40&&x<=60){

     y=10*0.1+10*0.075+20*0.05+(x-40)*0.03;

    }elseif(x>60&&x<=100){

     y=20*0.175+20*0.05+20*0.03+(x-60)*0.015;

    }elseif(x>100){

     y=20*0.175+40*0.08+40*0.015+(x-100)*0.01;

    }

    System.out.println("应该提取的奖金是"+y+"万");

}

}

题目6:

求100之内的素数,保存在数组中。

题目7:

打印九九乘法表

 publicclasslianxi16{

publicstaticvoidmain(String[]args){

    for(inti=1;i<10;i++){

     for(intj=1;j<=i;j++){

      System.out.print(j+"*"+i+"="+j*i+"   ");

        if(j*i<10){System.out.print("");}

}

         System.out.println();

    }

}

}

题目8:

指定年月日,输出该天是该年中的第几天。

a)a)例如输入2003年1月5日,则输出是第5天。

b)b)例如输入2000年3月10日,则输出是第70天。

c)注意二月份天数的计算

importjava.util.*;

publicclasslianxi14{

publicstaticvoidmain(String[]args){

    intyear,month,day;

    intdays=0;

    intd=0;

    inte;

    inputfymd=newinput();

    do{

    e=0;

    System.out.print("输入年:

");

    year=fymd.input();

    System.out.print("输入月:

");

    mo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1