Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

第二周作业提交 #71

Merged
merged 53 commits into from
Mar 6, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
795b2f7
a test
SarahhLee Feb 25, 2017
da3be97
Merge pull request #1 from MrGPanPan/master
DDCV587 Feb 27, 2017
9f1452b
Merge remote-tracking branch 'refs/remotes/MrGPanPan/master'
fenq Feb 27, 2017
8eb2b5c
2.26
Feb 27, 2017
33f25dd
datastructure
SarahhLee Feb 27, 2017
f31f708
Merge pull request #9 from SarahhLee/master
gqipan Feb 27, 2017
2974339
Merge remote-tracking branch 'liuxin/master'
Feb 27, 2017
dbc25d6
暂存作业
Feb 28, 2017
0d16dfc
Merge branch 'master' of https://github.com/MrGPanPan/coding2017
Feb 28, 2017
db7e2f7
Merge remote-tracking branch 'refs/remotes/MrGPanPan/master'
fenq Feb 28, 2017
72f97ce
热身题
zhaohuxing Feb 28, 2017
03857fb
测试
zhaohuxing Feb 28, 2017
8758428
2.28
DDCV587 Feb 28, 2017
ea0a4bf
2.28
DDCV587 Feb 28, 2017
dd4e0a7
complete array util
fenq Mar 1, 2017
5d4a20a
暂存
Mar 1, 2017
7d1ed6b
Merge remote-tracking branch 'liuxin/master'
Mar 1, 2017
fb798cf
读取xml
zhaohuxing Mar 1, 2017
236b912
Merge remote-tracking branch 'refs/remotes/MrGPanPan/master'
fenq Mar 1, 2017
16f10f4
structs.xml is updated
fenq Mar 1, 2017
c801015
complete Struts.java
fenq Mar 3, 2017
d369c38
Struts和数据结构作业
WANGCANCER Mar 3, 2017
bd08161
添加ArrayUtil类
learnGithubChen Mar 3, 2017
a89910b
添加业务类,用来登录
learnGithubChen Mar 3, 2017
491f513
添加配置文件
learnGithubChen Mar 3, 2017
c07f985
Struts类用来读取配置文件
learnGithubChen Mar 3, 2017
aad4687
用来处理页面显示
learnGithubChen Mar 3, 2017
9d173a3
为ArrayUtil添加测试类
learnGithubChen Mar 3, 2017
3f14482
为Struts添加测试类
learnGithubChen Mar 3, 2017
0f4ef66
Merge pull request #12 from learnGithubChen/master
gqipan Mar 4, 2017
b5a0965
Merge pull request #11 from WANGCANCER/master
gqipan Mar 4, 2017
624b923
Merge pull request #10 from fenq/master
gqipan Mar 4, 2017
41989a1
ArrayUtils Finsh
Mar 4, 2017
670a639
20170226 assignment:ArrayUtil and litestructs
GZ-RXP Mar 5, 2017
fa744e2
Merge pull request #13 from GZ-RXP/master
gqipan Mar 5, 2017
0270497
暂存
Mar 5, 2017
e250919
Merge branch 'master' of https://github.com/MrGPanPan/coding2017
Mar 5, 2017
3541d1f
struts and array
SarahhLee Mar 5, 2017
657bcc1
myDataStructure
XMT-CN Mar 5, 2017
73d25b8
Merge pull request #16 from SarahhLee/master
gqipan Mar 5, 2017
fca7632
Merge pull request #15 from XMT-CN/master
gqipan Mar 5, 2017
1286ad2
Merge pull request #14 from zhaohuXing/master
gqipan Mar 5, 2017
d62eec2
暂存
Mar 5, 2017
cf2b3b6
Merge branch 'master' of https://github.com/MrGPanPan/coding2017
Mar 5, 2017
a800bf2
Merge remote-tracking branch 'liuxin/master'
Mar 5, 2017
51557cb
数组操作
Mar 6, 2017
9e5999e
Merge pull request #1 from MrGPanPan/master
XMT-CN Mar 6, 2017
331e8bc
Merge remote-tracking branch 'liuxin/master'
Mar 6, 2017
eb5b72b
Merge pull request #17 from DDCV587/master
gqipan Mar 6, 2017
40ebb85
Merge pull request #18 from XMT-CN/master
gqipan Mar 6, 2017
adf9b3a
Struts.xml
Mar 6, 2017
8bbcd7f
出乎意料
zhaohuxing Mar 6, 2017
c7cfc95
Merge pull request #19 from zhaohuXing/master
gqipan Mar 6, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions group11/1059156023/Array/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
1 change: 1 addition & 0 deletions group11/1059156023/Array/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/bin/
17 changes: 17 additions & 0 deletions group11/1059156023/Array/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Array</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
158 changes: 158 additions & 0 deletions group11/1059156023/Array/src/com/coding/basic/ArrayUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
package com.coding.basic;

import java.util.Arrays;
import java.util.HashSet;

public class ArrayUtil {

/**
* 给定一个整形数组a , 对该数组的值进行置换
例如: a = [7, 9 , 30, 3] , 置换后为 [3, 30, 9,7]
如果 a = [7, 9, 30, 3, 4] , 置换后为 [4,3, 30 , 9,7]
* @param origin
* @return
*/
public void reverseArray(int[] origin){
for (int i = 0; i < origin.length/2; i++) {//前后交换元素
int temp = origin[i];
origin[i] = origin[origin.length-i-1];
origin[origin.length-i-1]= temp;
}
System.out.println(Arrays.toString(origin));//输出数组

}

/**
* 现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}
* 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:
* {1,3,4,5,6,6,5,4,7,6,7,5}
* @param oldArray
* @return
*/

public int[] removeZero(int[] oldArray){
int[] arr = new int[oldArray.length];
int count = 0;
for(int i=0;i<oldArray.length;i++){
if (oldArray[i]!=0) {
arr[count] = oldArray[i];
count++;
}
}

int[] newArr = new int[count];
System.arraycopy(arr, 0, newArr, 0, count);

return newArr;
}

/**
* 给定两个已经排序好的整形数组, a1和a2 , 创建一个新的数组a3, 使得a3 包含a1和a2 的所有元素, 并且仍然是有序的
* 例如 a1 = [3, 5, 7,8] a2 = [4, 5, 6,7] 则 a3 为[3,4,5,6,7,8] , 注意: 已经消除了重复
* @param array1
* @param array2
* @return
*/

public int[] merge(int[] array1, int[] array2){
HashSet set1 = new HashSet(Arrays.asList(array1));
HashSet set2 = new HashSet(Arrays.asList(array2));
set1.addAll(set2);
/*
HashSet<Integer> set1 = new HashSet(Arrays.asList(array1));//以array1建立集合
HashSet<Integer> set2 = new HashSet(Arrays.asList(array2));
set1.addAll(set2);//求并集
Integer[] arr = set1.toArray(new Integer[set1.size()]);//获取并集后的数组
Arrays.sort(arr);//数组排序
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
*/



return null;
}
/**
* 把一个已经存满数据的数组 oldArray的容量进行扩展, 扩展后的新数据大小为oldArray.length + size
* 注意,老数组的元素在新数组中需要保持
* 例如 oldArray = [2,3,6] , size = 3,则返回的新数组为
* [2,3,6,0,0,0]
* @param oldArray
* @param size
* @return
*/
public int[] grow(int [] oldArray, int size){
int[] newArr = new int[oldArray.length+size];
System.arraycopy(oldArray, 0, newArr, 0, oldArray.length);

return newArr;
}

/**
* 斐波那契数列为:1,1,2,3,5,8,13,21...... ,给定一个最大值, 返回小于该值的数列
* 例如, max = 15 , 则返回的数组应该为 [1,1,2,3,5,8,13]
* max = 1, 则返回空数组 []
* @param max
* @return
*/
public int[] fibonacci(int max){

return null;
}

/**
* 返回小于给定最大值max的所有素数数组
* 例如max = 23, 返回的数组为[2,3,5,7,11,13,17,19]
* @param max
* @return
*/
public int[] getPrimes(int max){
return null;
}

/**
* 所谓“完数”, 是指这个数恰好等于它的因子之和,例如6=1+2+3
* 给定一个最大值max, 返回一个数组, 数组中是小于max 的所有完数
* @param max
* @return
*/
public int[] getPerfectNumbers(int max){
return null;
}

/**
* 用seperator 把数组 array给连接起来
* 例如array= [3,8,9], seperator = "-"
* 则返回值为"3-8-9"
* @param array
* @param s
* @return
*/
public String join(int[] array, String seperator){
String aString = "";
String bString = "";
for(int a:array){
aString = a+seperator;
bString = bString+aString;
}
return bString;
}

public static void main(String [] args){
ArrayUtil arrayUtil = new ArrayUtil();
int[] a = {7,9,30,3,0,6,0};
arrayUtil.reverseArray(a);

System.out.println(arrayUtil.join(a, "-"));

int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
System.out.println(Arrays.toString(arrayUtil.removeZero(oldArr)));

System.out.println(Arrays.toString(arrayUtil.grow(a, 4)));


}


}
6 changes: 6 additions & 0 deletions group11/1059156023/dataStructure/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
1 change: 1 addition & 0 deletions group11/1059156023/dataStructure/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/bin/
17 changes: 17 additions & 0 deletions group11/1059156023/dataStructure/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>dataStructure</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package com.coding.basic;

import java.util.List;

public class ArrayList implements List{
private int size;

//设置一个默认容量,当调用默认构造函数实例化数组后,需要扩容时可用
private static final int DEFAULT_CAPACITY=10;

//Integer.MAX_VALUE:2147483647,MAX_ARRAY_SIZE:2147483639
private static final int MAX_ARRAY_SIZE=Integer.MAX_VALUE-8;

private Object[] elementData;

//定义一个默认为空的数组,供默认构造函数使用
private static final Object[] EMPTY_ELEMENTDATA={};

//定义默认构造函数,实例化为空数组
public ArrayList(){
this.elementData=EMPTY_ELEMENTDATA;
}

//定义一个有参的构造函数
public ArrayList(int initialCapacity){
if(initialCapacity<0)
throw new IllegalArgumentException("Illegal Capacity:"+initialCapacity);
this.elementData = new Object[initialCapacity];
}

//定义add(Object o)方法,默认在数组末尾添加
public boolean add(Object o){
//要添加一个数,所以用ensureCapacityInternal()判断size+1个的数,数组是否放得下
ensureCapacityInternal(size+1);
elementData[size++]=o;
return true;
}

private void ensureCapacityInternal(int minCapacity) {
if(elementData == EMPTY_ELEMENTDATA)
minCapacity = DEFAULT_CAPACITY;

//如果需要扩容,则调用grow()
if(minCapacity-elementData.length>0)
grow(minCapacity);
}

private void grow(int minCapacity) {
int oldCapacity = elementData.length;
int newCapacity = oldCapacity+(oldCapacity>>1);

//原始长度是0时,即原来是空数组时
if(newCapacity-minCapacity<0)
newCapacity = minCapacity;

//如果新的容量超过了数组最大容量,就调用hugeCapacity()把能给的最大容量给它
if(newCapacity-MAX_ARRAY_SIZE>0)
newCapacity = hugeCapacity(minCapacity);


}

private static int hugeCapacity(int minCapacity) {
if (minCapacity<0) {
throw new OutOfMemoryError(); //抛出内存溢出异常
}
//如果minCapacity比MAX_ARRAY_SIZE大,则返回int类型所能表示的最大值,否则返回MAX_ARRAY_SIZE
return (minCapacity>MAX_ARRAY_SIZE) ? Integer.MAX_VALUE : MAX_ARRAY_SIZE;
}

}
8 changes: 8 additions & 0 deletions group11/1059156023/struts/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="lib" path="C:/Users/admin/Downloads/dom4j_完整版/dom4j-1.6.1/dom4j-1.6.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
1 change: 1 addition & 0 deletions group11/1059156023/struts/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/bin/
17 changes: 17 additions & 0 deletions group11/1059156023/struts/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>struts</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
39 changes: 39 additions & 0 deletions group11/1059156023/struts/src/com/coding/basic/LoginAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.coding.basic;

/**
* 这是一个用来展示登录的业务类, 其中的用户名和密码都是硬编码的。
* @author liuxin
*
*/
public class LoginAction{
private String name ;
private String password;
private String message;

public String getName() {
return name;
}

public String getPassword() {
return password;
}

public String execute(){
if("test".equals(name) && "1234".equals(password)){
this.message = "login successful";
return "success";
}
this.message = "login failed,please check your user/pwd";
return "fail";
}

public void setName(String name){
this.name = name;
}
public void setPassword(String password){
this.password = password;
}
public String getMessage(){
return this.message;
}
}
Loading