5.17 结对作业

猜数字游戏     

1、掌握基本输入输出。

2、掌握方法定义与调用,理解参数传递方式。

3、掌握数组的声明、定义与初始化,数组的处理。

4、掌握数组作为方法参数和返回值。

实践要求

利用方法、数组、基本输入输出等Java基础知识,给出所选项目的基本设计与实现。

项目需求

所选项目名称:猜数字游戏

项目需求描述:猜数字游戏,通过用户输入的数值与随机产生的数值进行对比,提示用户完成猜数字。

项目设计方案

该项目主要是调用了Math方法中的random来产生一个随机数,然后用户输入的数据与随机数进行比较。根据比较结果屏幕给出提示信息。回答正确后,程序停止。

五、核心算法详细设计

1、获取随机数

根据试验内容可知,此次做的是猜数字的程序,既然是猜数字,必定会用到随机数,也就少不了使用Math类中的random()方法,其格式为(int)(Math.random() * 101)用于返回int型 值,该值在0到100之间。返回值是一个随机选择的数。这样一来可以得到获取随机数的方法:

int number = (int)(Math.random() * 101);

2、判断答案正确性

用户输入一个猜测的数值,按回车键,如果比随机产生的数值大,屏幕则提示“大了”,如果比随机产生的小,屏幕则提示“小了”,相等则提示“恭喜你答对了!”程序停止。代码如下:

public static void yanzheng(int guess) {

if (guess == number){

System.out.println("恭喜你答对了!");

System.exit(0);

}else if (guess > number)

System.out.println("大了");

else

System.out.println("小了");// 用if语句判断你输入的数字与所给的随机数比较

}

3、功能测试

既然思路出来了,做起来也就方便了。在上面模型里进行添加:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23


import java.util.Scanner;

    public class TesGussNumber {

public static int number = (int) (Math.random() * 101);

static Scanner input;

public static int shuru() {

input = new Scanner(System.in);

System.out.println("请猜测一百以内的数字:");

int guess = input.nextInt();

return guess;

}

         public static void yanzheng(int guess) {

if (guess == number){

System.out.println("恭喜你答对了!");

System.exit(0);

}else if (guess > number)

System.out.println("大了");

else

System.out.println("小了");

}

package Juxing;

public class Test {

public static void main(String[] args) {

GussNumber gn=new GussNumber();

while(true) {

int x=gn.shuru();

gn.yanzheng(x);

}

}

}

上表第3行中是使用Math中的random来获取一个随机数。

第5~10行是从系统中输入一个数,用于比较随机数。并且返回guess值。

第11~19行,验证用户输入的数据与随机产生的数据是否一样。提示相应的信息,让用户继续输入。如果比随机产生的数值大,屏幕则提示“大了”,如果比随机产生的小,屏幕则提示“小了”,相等则提示“恭喜你答对了!”程序停止

最后 Test类中调用该方法。

4、流程图

 

完整源码:给出完整的源代码。如:

   构造方法:

package Juxing;

import java.util.Scanner;

public class TesGussNumber {

public static int number = (int) (Math.random() * 101);// 调用Math方法中的random,// 来获取一个随机数。math中全部是double型,所以强制转换成int型

static Scanner input;

   public static int shuru() {

input = new Scanner(System.in);// 输入一个猜测数值

System.out.println("请猜测一百以内的数字:");

int guess = input.nextInt(); // 输入你猜测的数字

return guess;

}

  public static void yanzheng(int guess) {

if (guess == number){

System.out.println("恭喜你答对了!");

System.exit(0);

}else if (guess > number)

System.out.println("大了");

else

System.out.println("小了");// 用if语句判断你输入的数字与所给的随机数比较

}

}

 测试:

package Juxing;

public class Test {

public static void main(String[] args) {

GussNumber gn=new GussNumber();

while(true) {

int x=gn.shuru();

gn.yanzheng(x);

}

}

}

没有测试成功

七、使用说明与运行结果截图

使用说明:程序运行开始会随机产生一个数值,屏幕提示“请猜测一百以内的整数”,用户输入一个猜测的数值,按回车键,如果比随机产生的数值大,屏幕则提示“大了”,如果比随机产生的小,屏幕则提示“小了”,相等则提示“恭喜你答对了!”程序停止。

运行结果截图:

八、实践总结

本次实践我学会了如何获取一个随机数,掌握了基本的输入输出。

https://github.com/grace321/zcy/tree/master

本人与朱春雨组队

她负责代码我负责测试

时间: 2024-10-31 10:24:24

5.17 结对作业的相关文章

5.17结对作业

   猜数字游戏      1.掌握基本输入输出. 2.掌握方法定义与调用,理解参数传递方式. 3.掌握数组的声明.定义与初始化,数组的处理. 4.掌握数组作为方法参数和返回值. 实践要求 利用方法.数组.基本输入输出等Java基础知识,给出所选项目的基本设计与实现. 项目需求 所选项目名称:猜数字游戏 项目需求描述:猜数字游戏,通过用户输入的数值与随机产生的数值进行对比,提示用户完成猜数字. 项目设计方案 该项目主要是调用了Math方法中的random来产生一个随机数,然后用户输入的数据与随机

结对作业第二次

领航员~~~ 一.题目的选择 根据我和我的小伙伴的兴趣爱好,此次作业我们选择了题目一: 小学四则运算自动生成程序 要求: 1.能够自动生成四则运算练习题 2.可以定制题目数量 3.用户可以选择运算符 4.用户设置最大数(如十以内.百以内等) 5.用户选择是否有括号.是否有小数 6.用户选择输出方式(如输出到文件.打印机等) 7.最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)(嗯....尝试过了..没做出来,所以..就这样吧) 二.角色扮演 我的结对小伙伴是王蕊,此次结对作业中,她

结对作业:五子棋

本次结对作业我们组做的是五子棋,代码如下:package com.temptation.gobang; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.a

高级学员:2015年10月17日作业

高级学员:2015年10月17日作业: 1.要约.要约邀请.承诺的定义,及你的理解: 2.项目配置管理的任务.P319 3.配置项版本号规则是什么.15.5.2 4.写论文,按要求,摘要不超过400字,正文不超过2750字,请写以下2篇之一:范围管理.成本管理.请任写一篇,另一篇写提纲. 1.要约.要约邀请.承诺的定义,及你的理解: 要约是希望和他人订立合同的意思表示,该意思表示应当符合下列规定:(一)内容具体确定:(二)表明经受要约人承诺,要约人即受该意思表示约束.(投标文件属于要约,乙方想和

软件工程结对作业02(借鉴版)

软件工程结对作业02(借鉴版) 在编写程序的时候因为不会将Java程序嵌入进jsp中所以借鉴了一个学姐的程序,下面是学姐的程序.但在对学姐程序就行修改时发现了一些问题: 在Newjsp中能调用html中的题目个数的参数 在Myjsp中不能调用html中的题目个数的参数 其中这个参数timugeshu,是我自己后来添加的,用来改变题目个数的,与Java程序无关,只在jsp文件中作用 源程序: NewFeil.html <!DOCTYPE html> <html> <head&g

2015年10月17日作业

2015年10月17日作业:1.要约.要约邀请.承诺的定义,及你的理解:   要约: 是希望和他人订立合同的意思表示,要约的内容应具体确定,并且表明经受要约人的承诺,要约人即受该要约的约束.   要约邀请:是希望让人向自己发出要约的意思表示.   承诺是受要约人同意要约的意思表示. 承诺的内容应该与要约的内容一致. 2.项目配置管理的任务.   配置管理的任务: 制定配置管理计划,确定配置识别原则,实施变更控制,报告配置状态,进行配置审核,进行版本管理和发行管理. 3.配置项版本号规则是什么. 

结对作业电梯调度问题

以下为结对作业,我只能做到看懂,真的不太会编..我会努力学的 问题描述: 某大楼共有20层,现安装4个电梯参数如下: 1号电梯 全楼层 最大负载800kg 2号电梯 单数层 最大负载800kg 3号电梯 双数层 最大负载1600kg 4号电梯 全楼层 最大负载2000kg 分析: 4个电梯是相互独立工作的,那么分为4个相互独立的调度模块.1号电梯与4号电梯均服务于全楼层且仅有最大负载不同,而2号和3号电梯 服务模式类似.那么1.4号电梯调度模块可合并为一个.同样地,2.3号模块也可以合并.电梯调

结对作业——我的体会

首先非常荣幸能和李保全同学搭档 ,因为李保全同学的编程能力非常强,和他搭档可以让我学到很多东西. 在真正实践的过程中,我和李保全同学重复做了好几次算法设计,但是每次都出现很多问题,然后又一次次的推翻,在这个过程中,我最大的感触就是只有不断的尝试,才可以学的更过的东西,虽然在前面几次做算法的时候出现了很多问题,不是考虑太简单,就是考虑的过于复杂.对问题没有一个统筹的认识.在李保全身上我学到了对问题分析的一些东西.例如他把电梯分成了内和外两部分 来考虑,而我刚开始只是考虑功能,没有分开去想,我觉得这

结对作业--电梯调度

结对编程 结对成员:王长(2011040101179)CODING:https://coding.net/u/smile-wang  高庆阳(2013040101173) 博客:http://www.cnblogs.com/gaoqingyang1994/   CODING:https://coding.net/u/gaoqingyang1994 结对编程的优缺点 在结对编程模式下,一对程序员可以平等的.互补地进行开发工作:他们一起分析,一起设计,一起写测试用例,一起编码,一起做测试...这样在