zoukankan      html  css  js  c++  java
  • 输出指定数字随意组合 算法二 (面向对象的思路)(C#版本)

    using System.Linq;
    
    namespace Common
    {
    	public class DigitalDashBoard
    	{
    		private static string RANGE = "0123456789";
    		private char[] chars;
    
    		public DigitalDashBoard(int length)
    		{
    			// 仪表盘显示位数
    			this.chars = new char[length];
    			// 初始化
    			for (int i = 0; i < chars.Length; i++)
    			{
    				chars[i] = RANGE.ElementAt(0);
    			}
    		}
    
    		/// <summary>
    		/// 累加
    		/// </summary>
    		/// <returns>是否操作成功</returns>
    		public bool Add()
    		{
    			// 从最后一位开始累加
    			for (int i = chars.Length - 1; i >= 0; i--)
    			{
    				// 累加
    				int index = RANGE.IndexOf(chars[i]);
    				if (index < (RANGE.Length - 1))
    				{
    					chars[i] = RANGE.ElementAt(index + 1);
    					// 不溢出则跳出循环
    					break;
    				}
    				chars[i] = RANGE.ElementAt(0);
    			}
    			// 判断是否最大值
    			for (int i = 0; i < chars.Length; i++)
    			{
    				if (chars[i] != RANGE.Last())
    				{
    					return true;
    				}
    			}
    			return false;
    		}
    
    		/// <summary>
    		/// 获取值
    		/// </summary>
    		/// <returns></returns>
    		public string GetValue()
    		{
    			return new string(chars);
    		}
    	}
    }
    
  • 相关阅读:
    P1847 轰炸II
    c++ 如何对拍
    P2689 东南西北
    P2006 赵神牛的游戏
    P1320 压缩技术(续集版)
    vuex
    less
    将二维数组转化成一维数组
    剩余数组(从'水果数组'筛选掉'吃了的数组')
    将一维数组转化成二维数组
  • 原文地址:https://www.cnblogs.com/song-wentao/p/12510388.html
Copyright © 2011-2022 走看看