From 4116f43946701fc88d5de5e9ddcf407393c031a2 Mon Sep 17 00:00:00 2001 From: dan Date: Thu, 17 Aug 2023 12:08:37 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EC=88=AB=EC=9E=90=EC=95=BC=EA=B5=AC?= =?UTF-8?q?=EA=B2=8C=EC=9E=84=20=ED=95=99=EC=8A=B5=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=8B=A4=EC=8A=B5=20=EC=9A=94=EA=B5=AC=EC=82=AC?= =?UTF-8?q?=ED=95=AD2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/study/StringTest.java | 86 +++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/src/test/java/study/StringTest.java b/src/test/java/study/StringTest.java index 43e47d90b..2b4db4c3b 100644 --- a/src/test/java/study/StringTest.java +++ b/src/test/java/study/StringTest.java @@ -1,13 +1,99 @@ package study; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; +import org.junit.jupiter.params.provider.ValueSource; + +import java.util.HashSet; +import java.util.Set; import static org.assertj.core.api.Assertions.assertThat; public class StringTest { + private Set numbers; + @Test void replace() { String actual = "abc".replace("b", "d"); assertThat(actual).isEqualTo("adc"); } + + @Test + void test1A() { + String actual = "1,2"; + String[] actual1 = actual.split(","); + + assertThat(actual1[0]).contains("1"); + + } + + @Test + void test1B() { + String actual = "1"; + String[] actual1 = actual.split(","); + + assertThat(actual1).containsExactly("1"); + } + + @Test + void test2() { + String actual = "(1,2)"; + String actual1 = actual.substring(1,4); + + assertThat(actual1).isEqualTo("1,2"); + } + + @Test + void test3() { + String actual = "abc"; + char a = actual.charAt(1); + + assertThat(a).isEqualTo('b'); + } + + @Test + @BeforeEach + void test4A() { + + numbers = new HashSet<>(); + numbers.add(1); + numbers.add(1); + numbers.add(2); + numbers.add(3); + + assertThat(numbers.size()).isEqualTo(3); + } + + @ParameterizedTest + @ValueSource(ints = {1,2,3}) + void test4B(int number) { + + numbers = new HashSet<>(); + numbers.add(1); + numbers.add(1); + numbers.add(2); + numbers.add(3); + +// assertThat(numbers.contains(1)).isTrue(); +// assertThat(numbers.contains(2)).isTrue(); +// assertThat(numbers.contains(3)).isTrue(); + + assertThat(numbers.contains(number)).isTrue(); + } + + // TODO +// @ParameterizedTest +// @CsvSource(value = {"7", "4", "5"}) +// void test4C(int number) { +// +// numbers = new HashSet<>(); +// numbers.add(1); +// numbers.add(1); +// numbers.add(2); +// numbers.add(3); +// +// asser +// } } From 84b98ad89dc0842ee746062ec02eb0a252d7446f Mon Sep 17 00:00:00 2001 From: dan Date: Thu, 17 Aug 2023 13:01:33 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EB=AC=B8=EC=9E=90=EC=97=B4=20=EA=B3=84?= =?UTF-8?q?=EC=82=B0=EA=B8=B0=20=EB=A7=8C=EB=93=A4=EA=B8=B0=20--=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=ED=95=84=EC=9A=94=ED=95=A8(=EA=B3=84?= =?UTF-8?q?=EC=82=B0=20=EC=A0=9C=EB=8C=80=EB=A1=9C=20=EC=95=88=EB=90=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/study/StringCalculator.java | 68 +++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/test/java/study/StringCalculator.java diff --git a/src/test/java/study/StringCalculator.java b/src/test/java/study/StringCalculator.java new file mode 100644 index 000000000..1fddc13f4 --- /dev/null +++ b/src/test/java/study/StringCalculator.java @@ -0,0 +1,68 @@ +package study; + +import java.util.Scanner; +import java.util.StringTokenizer; + +public class StringCalculator { + + public static void main(String[] args){ + String token = ""; + int amount = 0; + + Scanner sc = new Scanner(System.in); + + System.out.println("계산식 입력 : "); + + String inputData = sc.nextLine(); + StringTokenizer stringTokenizer = new StringTokenizer(inputData, "+-*/"); + + try { + while (stringTokenizer.hasMoreTokens()){ + + token = stringTokenizer.nextToken(); + + if (token.equals("+")){ + + token = stringTokenizer.nextToken(); + amount += Integer.parseInt(token); + + + } else if (token.equals("-")) { + + token = stringTokenizer.nextToken(); + amount -= Integer.parseInt(token); + + } else if (token.equals("*")) { + + token = stringTokenizer.nextToken(); + amount *= Integer.parseInt(token); + + } else if (token.equals("/")) { + + token = stringTokenizer.nextToken(); + amount /= Integer.parseInt(token); + + } else { + amount = Integer.parseInt(token); + } + + } + System.out.println("결과값 : " + amount); + + } catch (NullPointerException e){ + + } + + + } + + public String _StringCalculator() { + + Scanner scanner = new Scanner(System.in); + + String scanInput = scanner.nextLine(); + + + return null; + } +} From b6ee2cd4af74970463ce3f64a94d1d726e0d9bb9 Mon Sep 17 00:00:00 2001 From: dan Date: Wed, 23 Aug 2023 12:29:07 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EA=B3=84=EC=82=B0=EC=9D=B4=20=EC=A0=9C?= =?UTF-8?q?=EB=8C=80=EB=A1=9C=20=EB=90=98=EC=A7=80=EC=95=8A=EB=8A=94=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/study/StringCalculator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/test/java/study/StringCalculator.java b/src/test/java/study/StringCalculator.java index 1fddc13f4..ce7d4a2b0 100644 --- a/src/test/java/study/StringCalculator.java +++ b/src/test/java/study/StringCalculator.java @@ -5,6 +5,11 @@ public class StringCalculator { + /** 에러 1 . 계산식이 토큰으로 뽑히지 않음 + * 해결 . StringTokenizer stringTokenizer = new StringTokenizer() 3번째 인자에 true 추가 + * 3번째 인자는 구분자로 토큰을 분리할 때 구분자도 토큰에 포함시킬지 여부 default값은 false + * **/ + public static void main(String[] args){ String token = ""; int amount = 0; @@ -14,7 +19,7 @@ public static void main(String[] args){ System.out.println("계산식 입력 : "); String inputData = sc.nextLine(); - StringTokenizer stringTokenizer = new StringTokenizer(inputData, "+-*/"); + StringTokenizer stringTokenizer = new StringTokenizer(inputData, "+-*/", true); try { while (stringTokenizer.hasMoreTokens()){