commit 273a848

Artur Manuel  ·  2025-07-06 20:10:23 +0000 UTC
parent 65583c1
feat(java): add java
4 files changed,  +71, -0
+27, -0
 1@@ -0,0 +1,27 @@
 2+# Compiled class file
 3+*.class
 4+
 5+# Log file
 6+*.log
 7+
 8+# BlueJ files
 9+*.ctxt
10+
11+# Mobile Tools for Java (J2ME)
12+.mtj.tmp/
13+
14+# Package Files #
15+*.jar
16+*.war
17+*.nar
18+*.ear
19+*.zip
20+*.tar.gz
21+*.rar
22+
23+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
24+hs_err_pid*
25+replay_pid*
26+
27+# meson
28+build/
+10, -0
 1@@ -0,0 +1,10 @@
 2+project(
 3+  'rosetta_collatz',
 4+  'java',
 5+  version: '0.1',
 6+  default_options: [
 7+    'warning_level=3',
 8+  ],
 9+)
10+
11+subdir('src')
+8, -0
1@@ -0,0 +1,8 @@
2+exe = jar(
3+  'rosetta_collatz',
4+  'rosetta_collatz.java',
5+  main_class: 'rosetta_collatz',
6+  install: true
7+)
8+
9+test('basic', exe)
+26, -0
 1@@ -0,0 +1,26 @@
 2+public class rosetta_collatz {
 3+    static public int collatz(int a) {
 4+        if (a % 2 == 0)
 5+            return a / 2;
 6+        return 3 * a + 1;
 7+    }
 8+
 9+    static public String collatzSequence(int a) {
10+        String result = String.format("%d: ", a);
11+        for (int i = a; i >= 1; i = collatz(i)) {
12+            if (i == 1) {
13+                result += "1";
14+                break;
15+            }
16+            result += String.format("%d, ", i);
17+        }
18+        return result;
19+    }
20+
21+    public static void main(String args[]) {
22+        for (int i = 1; i <= 10000; i++) {
23+            System.out.println(collatzSequence(i));
24+        }
25+    }
26+}
27+