拉勾第一阶段模块一作业
编程题1
实现双色球抽奖游戏中奖号码的生成,中奖号码由 6 个红球号码和 1 个蓝球号码组成。 其中红球号码要求随机生成 6 个 1~33 之间不重复的随机号码。 其中蓝球号码要求随机生成 1 个 1~16 之间的随机号码。
过程
import java.util.Random;
import java.util.Arrays;public class Twocolorballtest{public static void main(String[] args){//1.建立一维数组int [] arr = new int[6];//2.生成随机数Random ball = new Random();//3.赋值给一维数组,篮球for(int i = 0;i < arr.length ; i++){arr[i] = ball.nextInt(33) + 1;for(int j =0; j < i;j++){if(arr[i] == arr[j]){i--;break;}}}//4.打印红球号码System.out.println("红球为:" + Arrays.toString(arr));//5.随机生成蓝球int blue = ball.nextInt(16) + 1;//6.打印蓝球号码System.out.println("蓝球为:" + blue);}
}
编程题2
实现数组扩容。自定义数组长度(用户指定),扩容规则:当已存储元素数量达到总容量的 80%时,扩容到原容量的1.5 倍。 例如,原容量是 10,当输入第 8 个元素时,数组进行扩容,容量从 10 变 15。
过程
import java.util.Scanner;
import java.util.Arrays;public class ArraysExpansion{public static void main(String[] args){//1.输入一个数组长度。System.out.println("请输入数组长度:");Scanner sc = new Scanner(System.in);int num = sc.nextInt();//2.声明一个一维数组int[] arr = new int[num];//3.声明一个变量 记录元素次数int cnt = 0;//4.输入数组元素for(int i = 0; i < arr.length; i++){//提示输入数组元素System.out.println("请输入第" + (i+1) +"元素:");arr[i] = sc.nextInt();cnt++;//判断数组容量if(cnt >= (arr.length) * 0.8){//进行扩容 (int)Math.ceil(arr.length*3/2) 本句含义:(int)强转int类型 Math.ceil:向上取整 (arr.length*3/2):数组长度扩充到1.5倍 int newLength = (int)Math.ceil(arr.length*3/2);//记录新数组int[] brr = new int[newLength];//将原来arr的数组元素导入brr中System.arraycopy(arr,0,brr,0,arr.length);//打印数组的长度System.out.println("数组的长度为:" + brr.length);arr = brr;break;}}System.out.println("元素的数量:" + cnt);System.out.println("数组的内容:" + Arrays.toString(arr));}
}
编程题3
使用双重循环实现五子棋游戏棋盘的绘制,棋盘界面的具体效果如下:
过程
public class ChessBoard{public static void main(String[] args){//1.声明一个一维数组 元素为ASCII码int[] arr = {48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102};//2.for循环实现棋盘元素的打印for(int i = 0; i < arr.length; i++){//3.打印左上角的空白if(0 == i){System.out.print(" ");System.out.print(" ");//4.打印第一行for(int j = 0; j < arr.length; j++){System.out.print(" ");System.out.print((char)arr[j]);System.out.print(" ");}System.out.println();}//5.打印第一列System.out.print((char)arr[i]);System.out.print(" ");//6.打印+for(int k = 0; k < arr.length;k++){System.out.print(" + ");}System.out.println();}}
}
说明:
以上内容参考了@悟空要上天 大佬的解题过程。
求助:
1、3两题有没有大佬能用二维数组做一下,谢谢!
拉勾第一阶段模块一作业相关推荐
- JavaSE第一阶段模块四
第一阶段模块四 异常机制和File类 异常机制(重点) 概念 1.异常在Java语言中主要指程序执行中发生的不正常情况 2.java.lang.Throwable类是Java语言中错误(Error)和 ...
- JAVA学习第一阶段模块三
模块三 Java常用类库(上) 常用类 java.lang包,java虚拟机自动导入的 如System类.String类等 java.util包,java语言工具包 如Scanner类.Random类 ...
- 拉勾教育后台管理系统(SSM)(课程管理模块开发)【学习笔记】
文章目录 1.项目架构 1.1.项目介绍 1.2.技术选型 1.2.1.前端技术选型 1.2.2.后端技术选型 1.3.项目开发环境 2.Maven进阶使用(Maven聚合工程) 2.1.maven的 ...
- 06_04_任务一:拉勾教育后台管理系统[课程管理模块、图片上传、 BeanUtils封装实体类](SSM)
拉勾教育后台管理系统(SSM) 1. 项目架构 1.1 项目介绍 拉勾教育后台管理系统,是提供给拉勾教育的相关业务人员使用的一个后台管理系统, 业务人员可以在 这个后台管理系统中,对课程信息.广告 ...
- 《拉勾Java高薪课程》阶段一输出 之 通过房屋租赁流程理解设计模式(单例模式,代理模式,工厂模式)--菜鸟小回
通过房屋租赁流程理解设计模式(单例模式,代理模式,工厂模式) 文章目录 通过房屋租赁流程理解设计模式(单例模式,代理模式,工厂模式) @[toc] 一.单例模式 1. 相关概念 2. 演示思路 3. ...
- 06_04_SSM拉勾教育后台管理系统(权限模块\登录及动态菜单)
拉勾教育后台管理系统(SSM)权限模块 权限概念介绍 权限:权利(能做的)和限制(不能做的),在权限范围内做好自己的事情,不该看的不看,不该做的不做 认证: 验证用户名密码是否正确的过程 授权: 对用 ...
- 06_04_任务二:SSM拉勾教育后台管理系统(广告模块与用户模块)
拉勾教育后台管理系统(SSM) 广告模块 广告模块功能分析 拉勾教育后台管理系统的 广告管理模块包含了以下功能: 广告位列表查询 添加&修改广告位 回显广告位名称 广告分页查询 图片上传接口 ...
- 拉勾教育管理系统(后端)
拉勾教育管理系统 项目介绍与后台系统搭建 项目架构 项目介绍 拉钩教育后台管理系统,是提供给拉钩教育的相关业务人员使用的一个后台管理系统,,业务人员可以在这个后台管理系统中,对课程信息.讲师信息. ...
- java之学习记录 5 - 1 - 模拟拉勾项目介绍与后台系统搭建
项目架构(此文章只供个人学习的记录) 1 项目介绍 拉勾教育后台管理系统,是提供给拉勾教育的相关业务人员使用的一个后台管理系统, 业务人员可以在这个后台管理系统中,对课程信息.讲师信息. 学员信息等数 ...
最新文章
- DAY74-Django框架(五)
- IE不能开新窗口的解决方法
- mac上投屏android_全平台Win/Mac全设备Android/iOS 免费无线投屏神器
- python基础教程:list转换range()的打印结果
- Centos 7 安装NodeJS开发环境
- mysql与mimic安装_MIMIC专题 | MIMIC数据库的安装
- PS教程第十五课:图层是最基本的要求
- Alibaba之MySQL宝典_阿里巴巴内部 MySQL宝典 意外流出!极致经典,堪称数据库的天花板...
- 拦截器BridgeInterceptor分析
- 在visual studio 2010下搭建OGRE项目
- opencv笔记(7):直方图均衡化
- java前端开发JD
- cadence基础学习
- Hive窗口函数保姆级教程
- 10M/s方法解决numpy下载太慢的问题!
- VsCode模仿简单百度网页(html)
- 【NPM】Building fresh packages运行很久都没反应
- 初级程序员升中级程序员需要掌握哪些知识
- 算法与数据结构课后习题第七章
- android bitmap转图片_这是一份面向Android开发者的复习指南