用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();

	}
}

总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值