123huyanan

导航

Java课程设计--个人项目

目    录
1 选题 1
2 系统需求分析 2
2.1 系统可行性分析 2
2.2 系统需求分析 2
2.3 进度安排 2
3 系统设计 4
3.1 系统设计 4
4 系统实现 6
4.1代码实现 6
4.2 程序运行实现 6
 5结论和心得 9
 
1 选题
选题一 算术运算测试
题目要求
功能要求:实现十道 100 以内加减法数学题,能根据题目计算出答案,与输
入答案对比,判断做题是否正确,最后计算分数。
设计要求:随机生成两个数进行加法或减法运算,最终得出运算正确次数。
能力要求:1.独立实践能力  
            2.创新意识
          3.自主学习能力
使用Java知识
Java用户键盘录入功能、基本运算符、生成随机数、if判断、for循环
选题二 猜数游戏
题目要求
功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,
继续猜,直至猜到,表示猜的次数
能力要求:1.收集资料能力
          2.文档攥写能力
          3.独立完成项目能力
          4.面向对象编程能力
使用Java知识
生成随机数、利用布尔类型变量树立旗帜、用户键盘录入功能、do-while循环
 
 
 

 
2 系统需求分析
2.1 系统可行性分析
一、算数运算测试
1.技术可行性
本次程序运用所需软件为eclipse,采用的java语言,所以技术上是可行的。
2经济可行性
本次程序所使用的eclipse软件是免费的,我们不需要额外的开销,所以经济上也是可行的。
3.操作可行性
本次程序运用了简单的用户键盘录入操作,简单易懂,很好操作,因此在操作上是可行的。
二 、猜数游戏
1.技术可行性
. 本次程序运用所需软件为eclipse,采用的java语言,所以技术上是可行的
2.经济可行性
因为本次程序使用的eclipse软件是免费的,在这个软件上就能满足我们的需求,我们不需要额外的开销,所以经济上也是可行的。
3.操作可行性
本次程序运用了简单的用户键盘录入操作,简单易懂,很好操作,因此在操作上是可行的。
2.2 系统需求分析
 

 

 



图2-1算数运算测试模块图

 

 


图2-2猜数游戏模块图
 

2.3 进度安排
阶段一进度安排如表2-3所示。
表2-3 进度安排表
阶段 持续时间 阶段描述 输出
构思阶段 2小时 需求分析 需求说明,功能模块图
设计阶段 2小时 系统设计 设计说明-可以画流程图;数据库设计
实现阶段 5小时 编写代码 项目工程源代码
 5小时 系统测试 进行黑盒测试(功能测试)-测试说明
运行阶段 1天 部署、运行 系统使用说明、运维报告、录制视频
 
 
3 系统设计
3.1 系统设计
根据系统的实际功能需求分析,对系统功能部分进行了设计。
一、 算数运算测试
随机生成数:通过调用random包,随机产生两个1-100之间的数
   用户输入答案:通过写scanner,从而使用户自行输入答案
   加法:比较两个随机数的大小,如果前者较小,则为加法
   减法:比较两个随机数的大小,如果前者较大,则为减法
   记录得分:一题一分,最终得出分数
二、 猜数游戏
随机生成数:通过调用random包,随机产生一个1-100之间的数
用户输入答案:通过写scanner,从而使用户自行输入答案
判断是否猜对:通过if语句,判断用户输入与随机数是否相等
给出回复:如果相同,则提示猜对了,如果猜的偏大,则提示偏大,反之,则提示偏小
记录次数:猜对后给出最终的猜数次数
 
4 系统实现
4.1代码实现
一、 算数运算测试
import java.util.Random;
import java.util.Scanner;
public class Geren1 {
  public static void main(String[] args) {
  int j = 0;//计算正确次数
  for(int i=1;i<11;i++) {
   //生成两个随机数
    Random r1 =  new Random();
    int num1=r1.nextInt(100);
    Random r2 =  new Random();
    int num2=r2.nextInt(100);
   //用户输入答案
    /*Scanner input = new Scanner(System.in);
    int answer = input.nextInt();*/
   //加法
    if(num1<num2) {
     System.out.println(num1+"+"+num2+"=?");
     Scanner input = new Scanner(System.in);
     int answer = input.nextInt();
     if(answer==num1+num2) {//判断是否正确
      j++;
System.out.println("回答正确!***********您共答对"+j+"次");
     }else {
System.out.println("回答错误!***********您共答对"+j+"次");
     }
    }
   //减法
    if(num1>num2) {
     System.out.println(num1+"-"+num2+"=?");
     Scanner input = new Scanner(System.in);
     int answer = input.nextInt();
    if(answer==num1-num2) {
     j++;
     System.out.println("回答正确!***********您共答对"+j+"次");
    }else {
     System.out.println("回答错误!***********您共答对"+j+"次");
    }
    }
   }
  System.out.println("您的最终得分:"+j+"分");
  }
}
二、猜数游戏
import java.util.Random;
import java.util.Scanner;
public class Geren2 {
  public static void main(String[] args) {
   boolean  flag = false;
   //生成随机数
    Random r =  new Random();
    int num1=r.nextInt(100);//num1--中奖数
      int count = 0;
   
    do {
     
        count++;
      //用户输入数字
      Scanner input = new Scanner(System.in);
      int num2 = input.nextInt();//num2--猜数
      
      if(num1==num2) {
   System.out.println("恭喜你猜对了!共猜了"+count+"次");
          flag = true;
         }else if (num1<num2) {
          System.out.println("太大了!");
          flag = false;
         }else if(num1>num2) {
          System.out.println("太小了!");
          flag = false;
         }
    }while(flag=true);
    
  }
}
4.2程序运行实现
一、算数运算测试
 
 
 
 

 

 

 
 

图4-1   算数运算测试运行图
 
二、猜数游戏
 
 
 
 

 

 

 

图4-2   猜数游戏运行图
5结论和心得
心得:
通过本次课程设计,我更加深刻的理解了java程序设计语言的魅力,算法是各种设计语言的基础,但是只有算法,我们还有很多解决不了的实际问题,而Java的核心是面向对象,面向对象可以解决生活中的很多例子,在日后的生活学习中,一定努力学习Java程序设计语言的强大功能,提升自己的编程水平。
最后,感谢李老师和同学的帮助和教导!
 

posted on 2020-06-24 10:27  123huyanan  阅读(409)  评论(0编辑  收藏  举报