Skip to content

Commit

Permalink
英文分号分隔释义
Browse files Browse the repository at this point in the history
  • Loading branch information
testacount1 committed Oct 11, 2018
1 parent a549f01 commit a7584d0
Show file tree
Hide file tree
Showing 6 changed files with 73 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public class 释义处理 {
}
}
// 按分号分隔词义
String[] 词义 = 除去词性.split(";");
String[] 词义 = 除去词性.split(";|;");
List<String> 此词性的释义 = new ArrayList<>();
for (String 某词义 : 词义) {
此词性的释义.add(某词义);
Expand Down
45 changes: 45 additions & 0 deletions src/main/resources/FastSort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
public class FastSort{

public static void main(String []args){
System.out.println("Hello World");
int[] a = {12,20,5,16,15,1,30,45,23,9};
int start = 0;
int end = a.length-1;
sort(a,start,end);
for(int i = 0; i<a.length; i++){
System.out.println(a[i]);
}

}

public void sort(int[] a,int low,int high){
int start = low;
int end = high;
int key = a[low];


while(end>start){
//从后往前比较
while(end>start&&a[end]>=key) //如果没有比关键值小的,比较下一个,直到有比关键值小的交换位置,然后又从前往后比较
end--;
if(a[end]<=key){
int temp = a[end];
a[end] = a[start];
a[start] = temp;
}
//从前往后比较
while(end>start&&a[start]<=key)//如果没有比关键值大的,比较下一个,直到有比关键值大的交换位置
start++;
if(a[start]>=key){
int temp = a[start];
a[start] = a[end];
a[end] = temp;
}
//此时第一次循环比较结束,关键值的位置已经确定了。左边的值都比关键值小,右边的值都比关键值大,但是两边的顺序还有可能是不一样的,进行下面的递归调用
}
//递归
if(start>low) sort(a,low,start-1);//左边序列。第一个索引位置到关键值索引-1
if(end<high) sort(a,end+1,high);//右边序列。从关键值索引+1到最后一个
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public class 命名处理Test {
assertEquals(Arrays.asList("_", "Product"), 命名处理.拆分Java命名("_Product"));
assertEquals(Arrays.asList("visited", "Countries"), 命名处理.拆分Java命名("visitedCountries"));
assertEquals(Arrays.asList("serial", "Version", "UID"), 命名处理.拆分Java命名("serialVersionUID"));
assertEquals(Arrays.asList("Fast", "Sort"), 命名处理.拆分Java命名("FastSort"));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public class 命名翻译Test {
public void 翻译命名() {
assertEquals("我的类别", 命名翻译.翻译命名("MyClass"));
assertEquals("拜访国家", 命名翻译.翻译命名("visitedCountries"));
assertEquals("快速的排序", 命名翻译.翻译命名("FastSort"));
// TODO: 应置于术语词典
assertEquals("连续的版本用户名", 命名翻译.翻译命名("serialVersionUID"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class 翻译示例代码Test {

@Test
public void 翻译测试代码() throws Exception {
String 翻译后代码 = "package com.company.example;\n" +
String 目标代码 = "package com.company.example;\n" +
"\n" +
"import java.io.Serializable;\n" +
"\n" +
Expand Down Expand Up @@ -46,7 +46,9 @@ public class 翻译示例代码Test {
" }\n" +
"}\n";
String 源码 = 文件功用.取源文件文本("测试.java");
assertEquals(翻译后代码, 翻译Java代码.翻译源码结构(源码));
String 翻译代码 = 翻译Java代码.翻译源码结构(源码);
// System.out.println(翻译代码);
assertEquals(目标代码, 翻译代码);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,18 @@ public class 释义处理Test {
assertEquals(2, 释义.size());
}

@Test
public void 分词性sort() {
词条 词 = new 词条();
词.中文释义 = Arrays.asList("n. 种类, 方式, 品质, 态度, 举止", "vt. 分类, 排序, 挑选", "vi. 交往, 协调",
"[计] 排序; DOS外部命令:从标准输入设备接收数据, 整个数据输入完后", "对它以行为单位进行排序, 然后在标准输出设备上输出");
Map<String, List<String>> 词性到释义 = 释义处理.分词性(词);
assertEquals(5, 词性到释义.size());
List<String> 释义 = 词性到释义.get(释义处理.词性_计算机);
assertEquals(2, 释义.size());
assertEquals("排序", 释义.get(0));
}

@Test
public void 消除括号内容() {
assertEquals("M类别", 释义处理.消除括号内容("M类别"));
Expand All @@ -35,4 +47,13 @@ public class 释义处理Test {
词.中文释义 = Arrays.asList("abbr. 用户名(User Identifier);用户界面设计(User Interface Design)");
assertEquals("用户名", 释义处理.首选("UID", 词));
}

@Test
public void 首选sort() {
词条 词 = new 词条();
词.中文释义 = Arrays.asList("n. 种类, 方式, 品质, 态度, 举止", "vt. 分类, 排序, 挑选", "vi. 交往, 协调",
"[计] 排序; DOS外部命令:从标准输入设备接收数据, 整个数据输入完后", "对它以行为单位进行排序, 然后在标准输出设备上输出");
assertEquals("排序", 释义处理.首选("sort", 词));
}

}

0 comments on commit a7584d0

Please sign in to comment.