项目一作业
Java课程设计
(阶段一文档)
二〇二〇年七月
目 录
1 选题.......................................................................................................................... 2
2 系统需求分析.......................................................................................................... 3
2.1 系统可行性分析........................................................................................... 3
2.2 系统需求分析............................................................................................... 3
2.3 项目进度安排............................................................................................... 3
3代码实现.................................................................................................................. 4
4系统测试................................................................................................................... 8
5结论和心得............................................................................................................ 10
1 选题
|
选题一 |
算术运算测试 |
|
题目要求: |
|
|
实现十道一百以内的加减法数学题,根据题目写出答案,与输入答案对比,判断是否则正确,最后计算分数。 |
|
|
使用Java知识 |
|
|
数组,冒泡排序,for循环,math方法产生随机数
|
|
|
选题二 |
猜数游戏 |
|
题目要求: |
|
|
计算机产生随机数,猜中即胜,猜不中,提示大了还是小了,继续猜,直到猜到。给出所用时间和评语。保留用户成绩,,做出成绩排行榜,排行榜存放在文件或者数据库中。 |
|
|
使用Java知识 |
|
|
Switch语句,for循环,冒泡排序,数组,math方法产生随机数
|
|
2 系统需求分析
2.1 系统可行性分析
1. 技术可行性
本次程序运用所需软件为eclipse,采用的Java语言,所以技术上是可行的。
2. 操作可行性
本次程序运用了简单的用户键盘录入操作,简单易懂,很好操作,因此在操作上是可行的
2.2 系统需求分析
算术运算测试
功能要求:实现十道 100 以内加减法数学题,能根据题目计算出答案,与输
入答案对比,判断做题是否正确,最后计算分数。
猜数游戏
功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,
继续猜,直至猜到,给出所用时间和评语。保留用户测试成绩,做出成绩排行榜。
2.3 进度安排
阶段一进度安排如表3-1所示。
表3-1 进度安排表
|
阶段 |
持续时间 |
阶段描述 |
输出 |
|
构思阶段 |
20min |
需求分析 |
需求说明 |
|
实现阶段 |
100min |
编写代码 |
项目工程源代码 |
|
20min |
系统测试 |
进行黑盒测试(功能测试)-测试说明 |
|
|
运行阶段 |
40min |
部署、运行 |
系统使用说明、运维报告、录制视频 |
3 代码实现
项目一:package shixun1;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Scanner;
public class JiSuan {
public static void main(String[] args) {
int a,b,num;
Scanner input=new Scanner(System.in);
System.out.println("请输入需要进行计算的人数:");
int n=input.nextInt();
int[] str=new int[n];
for (int x = 0; x < n; x++) {
int sum=0;
for (int i = 0; i < 10; i++) {
a = (int) (Math.random() * 100);
b = (int) (Math.random() * 100);
if (i % 2 == 0) {
System.out.println("***********************************");
System.out.println(a + "+" + b + "=");
System.out.println("***********************************");
System.out.println("请输入您的答案:");
num = input.nextInt();
if (num == a + b)
sum++;
} else {
System.out.println("***********************************");
System.out.println(a + "-" + b + "=");
System.out.println("***********************************");
System.out.println("请输入您的答案:");
num = input.nextInt();
if (num == a - b)
sum++;
}
}
str[x]=sum;
System.out.println("第"+(x+1)+"位同学的得分为:" +sum);
}
for(int i=0;i<str.length;i++) {
for(int j=0;j<str.length-1-i;j++) {
if(str[j]<str[j+1]) {
int temp;
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
for(int i=0;i<str.length;i++) {
System.out.println(str[i]);
}
}
}
项目二:package shixun2;
import java.util.Scanner;
public class CaiMi {
public static void main(String[] args) {
int b;
int num=1;
double begin,end,time,sum;
System.out.println("请输入需要进行猜数的人数:");
Scanner input=new Scanner(System.in);
int n=input.nextInt();
double[] str=new double[n];
for (int x = 0; x < n; x++) {
int a = (int) (Math.random() * 100);
System.out.println("请输入您所猜的数字:");
begin =System.currentTimeMillis();
while((b=input.nextInt())!=a) {
if(a>b) {
System.out.println("对不起,您猜小了!请重新猜测!");
num++;
}else{
System.out.println("对不起,您猜大了!请重新猜测!");
num++;
}
}
end = System.currentTimeMillis();
time=end-begin;
sum=100-num*time/10000;
System.out.println("您的分数为:"+sum);
System.out.println("您所用时间为:"+time/1000+"秒!");
str[x]=sum;
int z=(int)sum/10;
switch(z) {
case 9:
case 8:
System.out.println("您的猜谜速度很快,请继续保持!");
break;
case 7:
case 6:
System.out.println("您的猜谜速度较快,但还可以提升!");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
System.out.println("您的猜谜速度较慢,要继续加油!");
break;
}
}
for(int i=0;i<str.length;i++) {
for(int j=0;j<str.length-1-i;j++) {
if(str[j]<str[j+1]) {
double temp;
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
for(int i=0;i<str.length;i++) {
System.out.println(str[i]);
}
}
}
5 系统测试
本小节主要介绍按照功能模块进行测试说明,每个模块一段描述一个表,最后总结。撰写可参考灰色底纹部分。
项目一:
项目二:
5 结论和心得
心得:
在得到项目要求得时候,不能像一个无头苍蝇一样随便去做,而是要先进行项目分析,在分析中得到我们要运用到得Java知识。最好是做个笔记,然后根据笔记思路来一步一步去实现项目要求。
浙公网安备 33010602011771号