算法第0天

2021-02-04  本文已影响0人  Blanchard

算法第0天

太长不看,再挖一个坑慢慢填。

今天这篇主要是准备环境,不涉及题目。
对于用惯了 idea 插件的亲,请忽略。
对于 old school vim(或者其他)编辑器偏好的,请继续看。

安装配置 java

这个?答案:(略)。

PS: 可以试试 openjdk [狗头]

配置 junit

md %USERPROFILE%\src
md %USERPROFILE%\src\alg2021\
md %USERPROFILE%\src\alg2021\libs

下载 jar 包 放进 %USERPROFILE%\src\alg2021\libs
https://master.dl.sourceforge.net/project/junit/junit/4.3.1/junit-4.3.1.jar?viasf=1

md %USERPROFILE%\src\alg2021\
md %USERPROFILE%\src\alg2021\bin\
pushd %USERPROFILE%\src\alg2021\bin\
notepad javacc.bat

javacc.bat 内容如下

set name=%~n1
set cpoption=-cp .;..\libs\junit-4.3.1.jar;%CLASSPATH%
set JAVA_TOOL_OPTIONS=-Duser.language=en -Dfile.encoding=UTF-8
javac %cpoption% %name%.java
pushd %USERPROFILE%\src\alg2021\bin\
notepad javarun.bat

javarun.bat 内容如下

set name=%~n1
set cpoption=-cp .;..\libs\junit-4.3.1.jar;%CLASSPATH%
set JAVA_TOOL_OPTIONS=-Duser.language=en -Dfile.encoding=UTF-8
java %cpoption% %name%
set PATH=%cd%;%PATH%

生成 Solution 类文件

md %USERPROFILE%\src\alg
md %USERPROFILE%\src\alg2021\solution221\
pushd %USERPROFILE%\src\alg2021\solution221\
notepad Solution.java
class Solution {
    public int maximalSquare(char[][] matrix) {
        int size = 0;
        return size;
    }
}
javacc.bat Solution.java

生成 Test Case 文件

md %USERPROFILE%\src\alg
md %USERPROFILE%\src\alg2021\solution221\
pushd %USERPROFILE%\src\alg2021\solution221\
notepad SolutionTest.java
import static org.junit.Assert.*;
import org.junit.Test;

public class SolutionTest{
    @Test
    public void test0(){
        char [][] prices={{'0'}};
        int expect=0;
        int actual=new Solution().maximalSquare(prices);
        assertEquals(expect,actual);
    }
    @Test
    public void test_faild(){
        int expect=0;
        int actual=1;
        assertEquals(expect,actual);
    }
}
javacc.bat SolutionTest.java

生成 Test Runner 文件

md %USERPROFILE%\src\alg2021\
md %USERPROFILE%\src\alg2021\solution221\
pushd %USERPROFILE%\src\alg2021\solution221\
notepad SolutionRunner.java
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;        
import org.junit.runner.notification.Failure;

public class SolutionRunner {
    public static void main(String[] args) {
        Result result = JUnitCore.runClasses(SolutionTest.class);

        for (Failure failure : result.getFailures()) {                            
            System.out.println(failure.toString());                    
        }        
        System.out.println("Result=="+result.wasSuccessful());
    }
}
set JAVA_TOOL_OPTIONS=-Duser.language=en -Dfile.encoding=UTF-8
javacc.bat SolutionRunner.java
javarun.bat SolutionRunner.java
Picked up JAVA_TOOL_OPTIONS: -Duser.language=en -Dfile.encoding=UTF-8
test_faild(SolutionTest): expected:<0> but was:<1>
Result==false

参考

https://jdk.java.net/15 (openjdk 15, )
junit 骨架参考地址???找不到了
https://leetcode-cn.com/problems/two-sum/ (leetcode第一题)

上一篇下一篇

猜你喜欢

热点阅读