From 4fad794ceeadd052bca1dee548bcb5ca68a10e13 Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期三, 28 十二月 2022 16:50:40 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/model/Shelves.java |   50 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/common/model/Shelves.java b/src/main/java/com/zy/common/model/Shelves.java
index e52be88..b759351 100644
--- a/src/main/java/com/zy/common/model/Shelves.java
+++ b/src/main/java/com/zy/common/model/Shelves.java
@@ -1,5 +1,9 @@
 package com.zy.common.model;
 
+import com.alibaba.fastjson.JSON;
+import com.core.common.Arith;
+import com.core.exception.CoolException;
+
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -11,16 +15,16 @@
 public class Shelves {
 
     // 璐ф灦鎺掓暟閲�
-    private final int size;
+    public final int size;
 
     // 璐ф灦缁勬暟閲�
-    private final int group;
+    public final int group;
 
     // 鍋忕Щ閲廩default:0]
-    private final int offset;
+    public final int offset;
 
     // 璐ф灦瀹炰緥鑺傜偣闆嗗悎
-    private List<List<Integer>> nodes;
+    public List<List<Integer>> nodes;
 
     public Shelves(int size, int group) {
         this(size, group, 0);
@@ -58,9 +62,11 @@
 
     /**
      * 寮�濮嬭绠� =======>>>
+     *
      *          璐ф灦鍛戒腑瑙勫垯濡備笅锛�
      *              瀹夎浣嶇疆锛�   [1]  [2]  |  [3]  [4]  --------  [5] [6]  |  [7] [8]
-     *                  鍛戒腑椤哄簭锛�      1 -> 5 -> 4 -> 8 -> 2 -> 6 -> 3 -> 9
+     *                  鍛戒腑椤哄簭锛�      1 -> 5 -> 4 -> 8 -> 2 -> 6 -> 3 -> 7 -> 1 ...
+     *
      *          1.璇ヨ鍒欓�備笉闄愬埗璐ф灦鏁伴噺锛屾�绘暟涓庣粍鍒湪鏋勯�犲櫒涓缃�
      *          2.濡傛湁搴忓垪鍙疯捣濮嬮棶棰橈紝鐢ㄥ亸绉婚噺瑙勯伩鍗冲彲
      *
@@ -78,8 +84,8 @@
                     return iterator.next().get(idx);
                 } else {
                     List<Integer> first = nodes.get(0);
-                    Integer val = first.get(idx);
-                    int res = size /group + 1 + offset - val;
+                    int val = first.get(idx);
+                    int res = size / group + 1 + offset - val;
                     // 鍙嶅悜鍛戒腑璐ф灦鏃朵笉鍐嶆槸瀵圭珛涓嬫爣锛堢浉瀵逛簬宸烽亾锛�
                     if (res < val) {
                         // 杞鎵�鏈夎揣鏋跺悗閲嶆柊寮�濮嬪畾浣�
@@ -92,19 +98,31 @@
                 }
             }
         }
-        return 0;
+        return -1;
     }
 
+    public Integer get(Integer curRow) {
+        for (List<Integer> node : nodes){
+            if (node.contains(curRow)) {
+                return nodes.indexOf(node) + 1;
+            }
+        }
+        throw new CoolException("璐ф帓妫�绱㈢郴缁熸姤閿欙紝 node:" + JSON.toJSONString(nodes) + ", curRow:" + curRow);
+    }
 
     public static void main(String[] args) throws InterruptedException {
-        Shelves shelves = new Shelves(4,2);
-        System.out.println(shelves.nodes.toString());
-        int start = 1;
-        while (true) {
-            System.out.println(start);
-            start = shelves.start(start);
-            Thread.sleep(500L);
-        }
+
+        double remainder = Arith.divides(1,16 - 1, 16);
+        System.out.println(remainder);
+        System.out.println((int) remainder);
+//        Shelves shelves = new Shelves(8,2);
+//        System.out.println(shelves.nodes.toString());
+//        int start = 1;
+//        while (true) {
+//            System.out.println(start);
+//            start = shelves.start(start);
+//            Thread.sleep(500L);
+//        }
     }
 
 }

--
Gitblit v1.9.1