From d48b4e5a9b27bdc1a3db8546a01d01d7de949cbe Mon Sep 17 00:00:00 2001 From: G100my Date: Sat, 7 Dec 2019 16:26:40 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=AE=8C=E6=88=90=20issue12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic/src/main/java/lo/basic/Issue12.java | 73 +++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 basic/src/main/java/lo/basic/Issue12.java diff --git a/basic/src/main/java/lo/basic/Issue12.java b/basic/src/main/java/lo/basic/Issue12.java new file mode 100644 index 0000000..696ee1d --- /dev/null +++ b/basic/src/main/java/lo/basic/Issue12.java @@ -0,0 +1,73 @@ +package lo.basic; + +public class Issue12 { + + public static void main(String[] args) { + int input = 5; + v1(input); + v2(input); + v3(input); + } + + public static void v1(int x) { + System.out.println("v1"); + int counter = 1; + for (int i = 0; i < x; i++) { + for (int i2 = i + 1; i2 < x; i2++) { + System.out.print(" "); + } + for (int i3 = 0; i3 <= i * 2; i3++) { + if (counter < 9) { + System.out.print(counter); + counter += 1; + } else { + System.out.print(counter); + counter = 0; + } + } + System.out.println(); + } + + } + + public static void v2(int x) { + System.out.println("\nv2"); + int counter = 1; + for (int i = 0; i < x; i++) { + for (int ii = 0; ii < x * 2 - 1; ii++) { + if (ii < x - i - 1 || ii > x + i - 1) { + System.out.print(" "); + } else { + if (counter < 9) { + System.out.print(counter); + counter += 1; + } else { + System.out.print(counter); + counter = 0; + } + } + } + System.out.println(); + } + } + + public static void v3(int x) { + System.out.println("\nv3"); + int[] list = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; + int index = 1; + int limit = x * 2; + for (int i = 1; i < limit; i += 2) { + for (int i2 = 1; i2 < limit - i; i2 += 2) { + System.out.print(" "); + } + for (int i4 = 0; i4 < i; i4++) { + if (index > 9) { + index = 0; + } + System.out.print(list[index]); + index += 1; + } + System.out.println(); + } + } +} \ No newline at end of file From dbf4264e47fc7393dae81588d448e9640a1d42c9 Mon Sep 17 00:00:00 2001 From: G100my Date: Sun, 8 Dec 2019 06:33:53 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E5=B1=A4=E8=AE=8A?= =?UTF-8?q?=E6=95=B8=E7=B5=B1=E4=B8=80=E6=94=B9=E7=82=BAi2=E3=80=81?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20v4=E3=80=81=E9=96=93=E9=9A=94=E7=A9=BA?= =?UTF-8?q?=E8=A1=8C=E7=A7=BB=E8=87=B3=E4=B8=8A=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic/src/main/java/lo/basic/Issue12.java | 36 +++++++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/basic/src/main/java/lo/basic/Issue12.java b/basic/src/main/java/lo/basic/Issue12.java index 696ee1d..65c7976 100644 --- a/basic/src/main/java/lo/basic/Issue12.java +++ b/basic/src/main/java/lo/basic/Issue12.java @@ -5,8 +5,12 @@ public class Issue12 { public static void main(String[] args) { int input = 5; v1(input); + System.out.println(); v2(input); + System.out.println(); v3(input); + System.out.println(); + v4(input); } public static void v1(int x) { @@ -16,7 +20,7 @@ public static void v1(int x) { for (int i2 = i + 1; i2 < x; i2++) { System.out.print(" "); } - for (int i3 = 0; i3 <= i * 2; i3++) { + for (int i2 = 0; i2 <= i * 2; i2++) { if (counter < 9) { System.out.print(counter); counter += 1; @@ -31,11 +35,11 @@ public static void v1(int x) { } public static void v2(int x) { - System.out.println("\nv2"); + System.out.println("v2"); int counter = 1; for (int i = 0; i < x; i++) { - for (int ii = 0; ii < x * 2 - 1; ii++) { - if (ii < x - i - 1 || ii > x + i - 1) { + for (int i2 = 0; i2 < x * 2 - 1; i2++) { + if (i2 < x - i - 1 || i2 > x + i - 1) { System.out.print(" "); } else { if (counter < 9) { @@ -52,7 +56,7 @@ public static void v2(int x) { } public static void v3(int x) { - System.out.println("\nv3"); + System.out.println("v3"); int[] list = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int index = 1; int limit = x * 2; @@ -60,7 +64,7 @@ public static void v3(int x) { for (int i2 = 1; i2 < limit - i; i2 += 2) { System.out.print(" "); } - for (int i4 = 0; i4 < i; i4++) { + for (int i2 = 0; i2 < i; i2++) { if (index > 9) { index = 0; } @@ -70,4 +74,24 @@ public static void v3(int x) { System.out.println(); } } + + public static void v4(int x) { + System.out.println("v4"); + int[] list = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; + int index = 1; + int limit = x * 2; + for (int i = 1; i < limit; i += 2) { + for (int i2 = 1; i2 < limit - i; i2 += 2) { + System.out.print(" "); + } + for (int i2 = 0; i2 < i; i2++) { + if (index % 10 == 0) { + index = 0; + } + System.out.print(list[index]); + index += 1; + } + System.out.println(); + } + } } \ No newline at end of file From 72b646418d89c42a996fee9bea68ba284fc12883 Mon Sep 17 00:00:00 2001 From: G100my Date: Thu, 26 Dec 2019 15:41:22 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20L88~L90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic/src/main/java/lo/basic/Issue12.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/basic/src/main/java/lo/basic/Issue12.java b/basic/src/main/java/lo/basic/Issue12.java index 65c7976..cddd57e 100644 --- a/basic/src/main/java/lo/basic/Issue12.java +++ b/basic/src/main/java/lo/basic/Issue12.java @@ -85,9 +85,7 @@ public static void v4(int x) { System.out.print(" "); } for (int i2 = 0; i2 < i; i2++) { - if (index % 10 == 0) { - index = 0; - } + index = index % 10; System.out.print(list[index]); index += 1; } From 3ea9411e53063df0c67108aa5c223a1b384ec9fa Mon Sep 17 00:00:00 2001 From: G100my Date: Thu, 26 Dec 2019 22:24:07 +0800 Subject: [PATCH 4/7] =?UTF-8?q?L88=20=E7=A7=BB=E8=87=B3=20L90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic/src/main/java/lo/basic/Issue12.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basic/src/main/java/lo/basic/Issue12.java b/basic/src/main/java/lo/basic/Issue12.java index cddd57e..94f28ac 100644 --- a/basic/src/main/java/lo/basic/Issue12.java +++ b/basic/src/main/java/lo/basic/Issue12.java @@ -85,9 +85,9 @@ public static void v4(int x) { System.out.print(" "); } for (int i2 = 0; i2 < i; i2++) { - index = index % 10; System.out.print(list[index]); index += 1; + index = index % 10; } System.out.println(); } From 410324b0d986504c20fcb7ed74ec5c8bf61bd9e9 Mon Sep 17 00:00:00 2001 From: G100my Date: Fri, 27 Dec 2019 15:03:04 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=88=AA=E9=99=A4=20L90=20=E5=90=88?= =?UTF-8?q?=E4=BD=B5=E5=88=B0L89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic/src/main/java/lo/basic/Issue12.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/basic/src/main/java/lo/basic/Issue12.java b/basic/src/main/java/lo/basic/Issue12.java index 94f28ac..71dda8a 100644 --- a/basic/src/main/java/lo/basic/Issue12.java +++ b/basic/src/main/java/lo/basic/Issue12.java @@ -86,8 +86,7 @@ public static void v4(int x) { } for (int i2 = 0; i2 < i; i2++) { System.out.print(list[index]); - index += 1; - index = index % 10; + index = (index + 1) % 10; } System.out.println(); } From 42280b3a09c85434a076f515c1546cfef4858bbe Mon Sep 17 00:00:00 2001 From: G100my Date: Sun, 5 Jan 2020 12:50:29 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=9B=B4=E6=94=B9=20v=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic/src/main/java/lo/basic/Issue12.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/basic/src/main/java/lo/basic/Issue12.java b/basic/src/main/java/lo/basic/Issue12.java index 71dda8a..d263cb7 100644 --- a/basic/src/main/java/lo/basic/Issue12.java +++ b/basic/src/main/java/lo/basic/Issue12.java @@ -4,17 +4,17 @@ public class Issue12 { public static void main(String[] args) { int input = 5; + System.out.println("v1"); v1(input); - System.out.println(); + System.out.println("v2"); v2(input); - System.out.println(); + System.out.println("v3"); v3(input); - System.out.println(); + System.out.println("v4"); v4(input); } public static void v1(int x) { - System.out.println("v1"); int counter = 1; for (int i = 0; i < x; i++) { for (int i2 = i + 1; i2 < x; i2++) { @@ -35,7 +35,6 @@ public static void v1(int x) { } public static void v2(int x) { - System.out.println("v2"); int counter = 1; for (int i = 0; i < x; i++) { for (int i2 = 0; i2 < x * 2 - 1; i2++) { @@ -56,7 +55,6 @@ public static void v2(int x) { } public static void v3(int x) { - System.out.println("v3"); int[] list = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int index = 1; int limit = x * 2; @@ -76,7 +74,6 @@ public static void v3(int x) { } public static void v4(int x) { - System.out.println("v4"); int[] list = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int index = 1; int limit = x * 2; From ad0df93d12447c5de92d4534dbaa3786a8f4f7c7 Mon Sep 17 00:00:00 2001 From: G100my Date: Sun, 5 Jan 2020 12:52:50 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=96=B0=E5=A2=9Ev5=E3=80=81=E7=AD=94?= =?UTF-8?q?=E9=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic/src/main/java/lo/basic/Issue12.java | 27 ++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/basic/src/main/java/lo/basic/Issue12.java b/basic/src/main/java/lo/basic/Issue12.java index d263cb7..862ab66 100644 --- a/basic/src/main/java/lo/basic/Issue12.java +++ b/basic/src/main/java/lo/basic/Issue12.java @@ -12,6 +12,8 @@ public static void main(String[] args) { v3(input); System.out.println("v4"); v4(input); + System.out.println("v5"); + v5(input, new char[] {'5', '4', '8', '7'}); } public static void v1(int x) { @@ -31,7 +33,6 @@ public static void v1(int x) { } System.out.println(); } - } public static void v2(int x) { @@ -73,6 +74,10 @@ public static void v3(int x) { } } + /** + * L89 直接寫 10 這個數字不恰當,像是之前提過的 magic 9, + * 應該寫 list.length,這樣與變數 list 的長度才有關連性。 + */ public static void v4(int x) { int[] list = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int index = 1; @@ -88,4 +93,24 @@ public static void v4(int x) { System.out.println(); } } + + /** + * v5 傳入的 array 可以為空的 array, + * 例如 v5(input, new char[] {}), + * 程式會執行但是會發生被除數為 0 的錯誤。 + */ + public static void v5(int x, char[] array) { + int index = 0; + int limit = x * 2; + for (int i = 1; i < limit; i += 2) { + for (int i2 = 1; i2 < limit - i; i2 += 2) { + System.out.print(" "); + } + for (int i2 = 0; i2 < i; i2++) { + System.out.print(array[index % array.length]); + index = index + 1; + } + System.out.println(); + } + } } \ No newline at end of file