user 1 年之前
父节点
当前提交
507f00fd83

+ 6 - 4
6/src/main/java/pl/dmcs/Main.java

@@ -3,11 +3,13 @@ package pl.weeia;
 public class Main {
     public static void main(String[] args) {
         System.out.println("Hello world!");
-
+        // "1\n2,3"
+        // "1,\n2";
         Str str = new Str();
-        System.out.println(str.add("1,0"));
-        System.out.println(str.add("1,2"));
+        System.out.println(str.add("21\n2,3"));
+        System.out.println(str.add("1,\n2"));
+        System.out.println(str.add("0"));
 
 
     }
-}
+}

+ 26 - 1
6/src/main/java/pl/dmcs/Str.java

@@ -1,5 +1,11 @@
 package pl.weeia;
 
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static java.lang.Boolean.FALSE;
+import static java.lang.Boolean.TRUE;
+
 public class Str {
 
     public int add(String s){
@@ -7,7 +13,12 @@ public class Str {
             return 0;
         }
 
-        String[] liczby = s.split(",");
+        if(inputStr(s) == FALSE){
+            System.out.print("regex nie poprawny. ");
+            return 0;
+        }
+
+        String[] liczby = s.split(",|\\n");
         int sum = 0;
         for(String liczba : liczby){
             sum += Integer.parseInt(liczba);
@@ -15,4 +26,18 @@ public class Str {
         return sum;
     }
 
+    public boolean inputStr(String s){
+        String input = s;
+//        String regex = "\\d+(\\n|,)\\d+(\\n|,)\\d+";
+        String regex = "\\d+((\\n|,)\\d+){0,2}";
+        Pattern pattern = Pattern.compile(regex);
+        Matcher matcher = pattern.matcher(input);
+
+        if (matcher.matches()) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
 }

+ 10 - 1
6/src/test/java/StrTest.java

@@ -6,10 +6,19 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class StrTest {
 
     @Test
-    public void test() {
+    public void testStep12() {
         Str str = new Str();
         assertEquals(0, str.add(""));
+        assertEquals(1, str.add("1"));
+        assertEquals(2, str.add("2"));
+        assertEquals(3, str.add("1,2"));
+    }
 
+    @Test
+    public void testStep3() {
+        Str str = new Str();
+        assertEquals(6, str.add("1\n2,3"));
+//        assertEquals(6, str.add("1,\n2"));
     }
 
 }

二进制
6/target/app4-1.0.jar


二进制
6/target/app6-1.0.jar


二进制
6/target/classes/pl/dmcs/Main.class


二进制
6/target/classes/pl/dmcs/StringCalculator.class


二进制
6/target/classes/pl/weeia/Main.class


二进制
6/target/classes/pl/weeia/Str.class


+ 1 - 1
6/target/maven-archiver/pom.properties

@@ -1,3 +1,3 @@
-artifactId=app4
+artifactId=app6
 groupId=pl.dmcs
 version=1.0

+ 2 - 2
6/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -1,2 +1,2 @@
-pl/dmcs/StringCalculator.class
-pl/dmcs/Main.class
+pl/weeia/Main.class
+pl/weeia/Str.class

+ 1 - 1
6/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,2 +1,2 @@
 /home/user/testy/tasks/6/src/main/java/pl/dmcs/Main.java
-/home/user/testy/tasks/6/src/main/java/pl/dmcs/StringCalculator.java
+/home/user/testy/tasks/6/src/main/java/pl/dmcs/Str.java

+ 1 - 0
6/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst

@@ -0,0 +1 @@
+StrTest.class

+ 1 - 0
6/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst

@@ -0,0 +1 @@
+/home/user/testy/tasks/6/src/test/java/StrTest.java

+ 4 - 0
6/target/surefire-reports/StrTest.txt

@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: StrTest
+-------------------------------------------------------------------------------
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.052 s -- in StrTest

+ 57 - 0
6/target/surefire-reports/TEST-StrTest.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="StrTest" time="0.052" tests="2" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="java.specification.version" value="17"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.class.path" value="/home/user/testy/tasks/6/target/test-classes:/home/user/testy/tasks/6/target/classes:/home/user/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.2/junit-jupiter-engine-5.10.2.jar:/home/user/.m2/repository/org/junit/platform/junit-platform-engine/1.10.2/junit-platform-engine-1.10.2.jar:/home/user/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/home/user/.m2/repository/org/junit/platform/junit-platform-commons/1.10.2/junit-platform-commons-1.10.2.jar:/home/user/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.2/junit-jupiter-api-5.10.2.jar:/home/user/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:"/>
+    <property name="java.vm.vendor" value="Debian"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.vendor.url" value="https://tracker.debian.org/openjdk-17"/>
+    <property name="os.name" value="Linux"/>
+    <property name="java.vm.specification.version" value="17"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.boot.library.path" value="/usr/lib/jvm/java-17-openjdk-amd64/lib"/>
+    <property name="sun.java.command" value="/home/user/testy/tasks/6/target/surefire/surefirebooter-20250125174900406_3.jar /home/user/testy/tasks/6/target/surefire 2025-01-25T17-49-00_304-jvmRun1 surefire-20250125174900406_1tmp surefire_0-20250125174900406_2tmp"/>
+    <property name="jdk.debug" value="release"/>
+    <property name="surefire.test.class.path" value="/home/user/testy/tasks/6/target/test-classes:/home/user/testy/tasks/6/target/classes:/home/user/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.2/junit-jupiter-engine-5.10.2.jar:/home/user/.m2/repository/org/junit/platform/junit-platform-engine/1.10.2/junit-platform-engine-1.10.2.jar:/home/user/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/home/user/.m2/repository/org/junit/platform/junit-platform-commons/1.10.2/junit-platform-commons-1.10.2.jar:/home/user/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.2/junit-jupiter-api-5.10.2.jar:/home/user/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="user.home" value="/home/user"/>
+    <property name="user.language" value="en"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="java.version.date" value="2024-10-15"/>
+    <property name="java.home" value="/usr/lib/jvm/java-17-openjdk-amd64"/>
+    <property name="file.separator" value="/"/>
+    <property name="basedir" value="/home/user/testy/tasks/6"/>
+    <property name="java.vm.compressedOopsMode" value="32-bit"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="surefire.real.class.path" value="/home/user/testy/tasks/6/target/surefire/surefirebooter-20250125174900406_3.jar"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="java.runtime.version" value="17.0.13+11-Debian-2deb12u1"/>
+    <property name="user.name" value="user"/>
+    <property name="path.separator" value=":"/>
+    <property name="os.version" value="6.1.0-28-amd64"/>
+    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
+    <property name="localRepository" value="/home/user/.m2/repository"/>
+    <property name="java.vendor.url.bug" value="https://bugs.debian.org/openjdk-17"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="java.version" value="17.0.13"/>
+    <property name="user.dir" value="/home/user/testy/tasks/6"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="native.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
+    <property name="java.vm.info" value="mixed mode, sharing"/>
+    <property name="java.vendor" value="Debian"/>
+    <property name="java.vm.version" value="17.0.13+11-Debian-2deb12u1"/>
+    <property name="java.specification.maintenance.version" value="1"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="java.class.version" value="61.0"/>
+  </properties>
+  <testcase name="testStep3" classname="StrTest" time="0.022"/>
+  <testcase name="testStep12" classname="StrTest" time="0.003"/>
+</testsuite>

二进制
6/target/test-classes/StrTest.class