在Javax中从数组中删除第一项
获取一个赋值问题,该问题要求从数组中返回第一项,然后将其删除。如果数组为空,我应该返回null。这是我的密码:在Javax中从数组中删除第一项,java,arrays,Java,Arrays,获取一个赋值问题,该问题要求从数组中返回第一项,然后将其删除。如果数组为空,我应该返回null。这是我的密码: public String pop(){ if(arrayLength == 0){ return null; }else{ String[] temp = new String[100]; String firstItem = StringStack[0]; for(int i = 1; i<Str
public String pop(){
if(arrayLength == 0){
return null;
}else{
String[] temp = new String[100];
String firstItem = StringStack[0];
for(int i = 1; i<StringStack.length; i++){
temp[i] = StringStack[i];
}
StringStack = temp;
return firstItem;
}
}
我想不出我做错了什么。这个问题的另一部分是我不能使用任何集合或System.arraycopy,所以我必须使用for循环和其他基本运算符来解决这个问题。它还必须是一个数组,所以我不能使用数组列表或其他数据结构。这是一个有两个固定问题的版本:
public String pop() {
if(StringStack == null || StringStack.length == 0)
return null;
String firstItem = StringStack[0];
String[] temp = new String[StringStack.length-1]; // allocate proper size
for(int i = 1; i<StringStack.length; i++){
temp[i-1] = StringStack[i]; // i-1 for temp array
}
StringStack = temp;
return firstItem;
}
公共字符串pop(){
if(StringStack==null | | StringStack.length==0)
返回null;
String firstItem=StringStack[0];
String[]temp=新字符串[StringStack.length-1];//分配适当的大小
对于(int i=1;iarrayLength变量是通过此方法设置的,并且工作正常
我在代码中看不到这一点,posted方法不会更新任何实例变量我想,用StringStack.length
字符串[]临时=新字符串[100];
-->字符串[]临时=新字符串[StringStack.length-1];
然后getLength()
可以返回StringStack.length
。
public String pop() {
if(StringStack == null || StringStack.length == 0)
return null;
String firstItem = StringStack[0];
String[] temp = new String[StringStack.length-1]; // allocate proper size
for(int i = 1; i<StringStack.length; i++){
temp[i-1] = StringStack[i]; // i-1 for temp array
}
StringStack = temp;
return firstItem;
}