用JAVA编写一维数组数据不重复代码

标签: JAVA学习栏  java  算法  编程语言

用JAVA编写一维数组数据不重复代码

偶尔无聊的时候,也去**店随机买一注**。想着,正好学习JAVA,还是用JAVA写一个**随机生成代码。便开始对数据结构和算法进行分析。

一、采用的数据类型及分析

**的主要数据是蓝球的5位和红球的2位不重复。在这个地方建立两个int型的一维数组,通过分析,使其不重复及可。大概基本要点是:通过遍历方法 ,循环给数组赋值,从数组的第2位开始,判断是否于前面数值相等,如果相等的话,重新给此次赋值,直到不相等为止。其代码如下图:
在这里插入图片描述
数组数据不重复的代码写法有很多种,可以根据个人思考来决定,虽然现在的计算机运算能力很强,不会再乎算法的区别,但是较好的算法,对自己的能力提升还是有很大的帮助的。下图是针对红球的两位数数组写的,刚开始想仿较红球写法,只接复制粘贴就可以了,但还是想练练自己,让红蓝的分析嵌入蓝球的分析方法当中,就写了如下代码,自己觉得还是经较笨。
在这里插入图片描述

二、代码整体情况及执行效果情况

在这里插入图片描述
在这里插入图片描述

三、JAVA代码

import java.util.Scanner;
import java.lang.*;

public class NumSix{
	public static void main(String[] args) {
		int[] num_int = new int[5];
		int[] num_sec = new int[2];

		for (int i = 0; i < num_int.length; i++){
			num_int[i] = (int)(Math.random()*30+ 1);
			if (i < 2){
				num_sec[i] = (int)(Math.random()*16 + 1);
				if (i == 2){
					while (true){
						if (num_sec[i] == num_sec[i-1]){
							num_sec[i] = (int)(Math.random()*16 + 1);
						}else{
							break;
						}
					}
				}
			}

			if (i > 0){
				for (int j = 0;j <i; j++){
					if (num_int[i] != num_int[j]){
						continue;
					}else if (num_int[i] == num_int[j]) {
						i--;
						break;
					}
				}
			}
		}
		System.out.print("蓝球:");
		for (int i = 0;i < num_int.length; i++){
			System.out.print(num_int[i] + " ");
		}
		System.out.print("红球:");
		for (int i = 0; i < num_sec.length; i++){
			System.out.print(num_sec[i] + " ");
		}
		System.out.println();

	}
}

总结

由于个人学习上还在很大的差距,希望大家多提宝贵意见,让共同学习,共同进步。数据结构和算法虽然基础,只有学习好才会在编写代码的时候,面对数据分析才不会迷茫。

版权声明:本文为weixin_51098159原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_51098159/article/details/109001943

智能推荐

linux服务器部署jenkins笔记

安装jenkins参考文档:https://blog.csdn.net/tomatocc/article/details/83930714 1. 打开jenkins官网:https://jenkins.io/download/ 将war包下载到本地 **ps:**这里要注意的是要下载左边下方的war包,不要下载右边下面的war包。左边是稳定版本,右边是最新版本,建议大家使用稳定版本(我刚开始下载的...

k8s部署elasticsearch集群

百度营销大学     环境准备 我们使用的k8s和ceph环境见: https://blog.51cto.com/leejia/2495558 https://blog.51cto.com/leejia/2499684 ECK简介 Elastic Cloud on Kubernetes,这是一款基于 Kubernetes Operator 模式的新型编排产品,用户可使用该产品在...

saas-export项目-AdminLTE介绍与入门

AdminLTE介绍 (1)AdminLTE是什么? AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具 (2)AdminLTE有什么特点? 提供一系列响应的、可重复使用的组件, 并内置了多个模板页面 自适应多种屏幕分辨率,兼容PC和移动端 快速的创建一个响应式的Html5网站 AdminLTE 不但美观, 而且可以免去写很大CSS与JS的工作量 AdminLTE...

MyBatis中ResultMap结果集映射

用于解决属性名和字段名不一致的情况: resultMap 元素是 MyBatis 中最重要最强大的元素。...

编写一个shell

编写shell的过程: 1.从标准输入中读入一个字符串。 2.解析字符串 3.创建一个子进程的执行程序。 4.子进程程序替换。 5.父进程等待子进程退出。...

猜你喜欢

WEB自动化测试中Xpath定位方法

前言: Xpath是在XML文档中查找信息的一种语言,使用路径表达式来选取XML文档中的节点或节点集,由于XML与HTML结构类似(前者用于传输数据,后者用于显示数据),所以Xpath也常用于查找HTML文档中的节点或节点集。 一  路径表达式: 路径以“/”开始     表示找到满足该绝对路径的元素; 路径以//”开始  ...

力扣困难难度 第4题 寻找两个正序数组的中位数

先看一眼题 我的思路: 设置下标i,j分别用于遍历两个数组,初始值均为0,直到找到两个数组中从小到大的第第length/2个数为止结束循环,length为两个数组长度之和。 ·每次比较nums[i]nums[j],如果前者小则i++,否则j++ ·循环结束时,如果count已经达到length/2,则说明已经找到了中位数,[注意:此时有可能正好其中一个数组遍历完了!所以...

[国家集训队]小Z的袜子(莫队)

[国家集训队]小Z的袜子 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这NN只袜子从1到NN编号,然后从编号LL到RR(LL 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同...

服务器配置(五) 服务器使用tomcat配置https全过程

一.了解服务器配置https协议 HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 配置HTTPS就需要证书,证书通过权威的CA机构付费获得的证书才能被互联网承认,我们将其放在服务器上面,配置好后,就可以进行https通信了。 通过https访问的网站,在地址前可以看到安全两个字,点击可以查...

SQL语言——基本概念、操作数据库、表、表记录、数据库备份与恢复、外键约束

SQL语言 1.基本概念 1.1 SQL SQL–Structured Query Language, 结构化查询语言,是关系型数据库通用的操作语言。 是一种非过程性语言。 由美国国家标准局(ANSI)与国际标准化组织(ISO)制定SQL标准。各大数据库厂商都对其做了实现。所以我们只要学会了SQL语言,就可以操作各大关系型数据库了。 为加强SQL的语言能力,各厂商增强了过程性语言的特征...