2 次代碼提交 cfa2053a2f ... f377eaca45

作者 SHA1 備註 提交日期
  Fabien Chéret f377eaca45 Merge branch 'master' of https://git.fibane.eu/fibane/Hitachi-IR 5 年之前
  Fabien Chéret ed82df265c first batch 5 年之前
共有 4 個文件被更改,包括 78 次插入0 次删除
  1. 12 0
      HItachiIR.iml
  2. 0 0
      resources/codes.txt
  3. 0 0
      resources/test
  4. 66 0
      src/eu/fibane/Main.java

+ 12 - 0
HItachiIR.iml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

文件差異過大導致無法顯示
+ 0 - 0
resources/codes.txt


文件差異過大導致無法顯示
+ 0 - 0
resources/test


+ 66 - 0
src/eu/fibane/Main.java

@@ -0,0 +1,66 @@
+package eu.fibane;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+public class Main {
+
+    public static void main(String[] args) {
+        try(BufferedReader br = new BufferedReader(new FileReader(Main.class.getClassLoader().getResource("codes.txt").getPath()))){
+            String line;
+            while((line = br.readLine()) != null){
+                String [] lineParts = line.split("=");
+                String title = lineParts[0];
+                String result = decodeIRCommand(lineParts[1]);
+
+                System.out.println(title);
+                int count = result.split(" ").length;
+                StringBuilder builder = new StringBuilder(result.length());
+                for (int i = 0; i < count; i++) {
+                    builder.append(String.format("%1$8d", i+1));
+                    builder.append(" ");
+                }
+                System.out.println(builder.toString());
+                System.out.println(result);
+            }
+
+        } catch (Exception e) {
+
+
+        }
+    }
+
+    public static String decodeIRCommand(String input){
+        String[] signals = input.split(" ");
+        ArrayList<Integer> codes = new ArrayList<>();
+
+        StringBuilder builder = new StringBuilder();
+
+
+        Arrays.stream(signals).forEach(s -> {
+            if(s.startsWith("-")){
+                codes.add(Integer.valueOf(s.substring(1)));
+            }
+        });
+
+        codes.forEach(code -> {
+            if (code < 800) {
+                builder.append(0);
+            } else {
+                builder.append(1);
+            }
+        });
+        builder.delete(1,2);
+        builder.delete(builder.length() -1, builder.length());
+        int nbBits = builder.length();
+        int nbSpacesToAdd = nbBits / 8;
+        for (int i = 0; i < nbSpacesToAdd; i++) {
+            builder.insert((i + 1) * 8 + i, " ");
+        }
+        return builder.toString();
+    }
+
+
+}

部分文件因文件數量過多而無法顯示