java陣列的處理(過濾元素)
輸入頁:
<table border="1" cellpadding="3" cellspacing="0" bordercolor="#1555A3" id="tbl" style="border-collapse:collapse" name="tbl">
<tr bgColor="#00ccff">
<td width="30" align="center" bgcolor="#00ccff">序列</td>
<td width="80">物料編碼</td>
<td width="120">物料名稱</td>
<td width="300" bgcolor="#00ccff">物料規格</td>
<td width="30">單位</td>
<td width="60">數量</td>
</tr>
<%
int x=0;
for(int i=1;i<7;i++)
{
%>
<tr>
<td align="center" onClick="SelectRow(this);"><%=i%></td>
<td><input id="textfield<%=i%>1" name="textfield1" onDblClick="checkReValue(<%=i%>);" type="text" class="gridInput" style="width:100%;heigth:100%"></td>
<td><input id="textfield<%=i%>2" name="textfield2" readonly type="text" class="gridInput" style="width:100%;heigth:100%"></td>
<td><input id="textfield<%=i%>3" name="textfield3" readonly class="gridInput" type="text" style="width:100%;heigth:100%"></td>
<td><input id="textfield<%=i%>4" name="textfield4" readonly type="text" class="gridInput" style="width:100%;heigth:100%"></td>
<td><input id="textfield<%=i%>5" name="textfield5" value="0" class="gridInput" onFocus="this.value='';" onKeyPress="keyCheckNum();" type="text" maxlength="5" style="width:100%;heigth:100%"></td>
</tr>
<%
x=x+1;
}
%>
</table>
<table width="620" border="0" cellpadding="5" cellspacing="0">
<tr>
<td> </td>
<td width="40" align="right">製表:</td>
<td width="80"><input type="hidden" value="<%=x%>" name="rowCount">
<input class="mybutton" type="text" name="tabulate" readonly style="width:100%;heigth:100%" value="<%=session.getAttribute("userName").toString()%>">
</td>
<td width="50"> </td>
<td width="40" align="right">稽核:</td>
<td width="80">
<input class="mybutton" type="text" name="checkup" disabled style="width:100%;heigth:100%">
</td>
</tr>
<tr>
<td colspan="6">此單作為採購物料入庫用,一式二聯,存根、財務各一聯。</td>
</tr>
</table>
處理頁:
方法一:
<%
String [] textfield1 = new String[]{"a1","a1","","a1","","a1"};
//String [] _textfield1 = new String[]{};
ArrayList list = new ArrayList();///*****
int [] _element = new int[]{};
/**
* 這裡主要對物料編碼進行檢查
* 檢查項為有:
* 1、物料編碼是否有效,
* 2、文字框中是否有輸入物料,計算輸入物料的個數。
* 3、檢查物料輸入的數量是否有效
*/
int x=0;
for(int i=0;i<textfield1.length;i++){
if(!textfield1[i].equals("")){
list.add(textfield1[i].toString()) ;///*****
out.print(i+":"+textfield1[i]+"<br>");
// _textfield1[x]=new String(textfield1[i].toString());
//_element[x]=i;
x=x+1;
}
}
for (int i=0 ;i<list.size() ;i++){
out.print(list.get(i) +"<BR>") ;
}
%>
方法二:
/**
* 這裡主要對物料編碼進行檢查
* 檢查項為有:
* 1、物料編碼是否有效,
* 2、文字框中是否有輸入物料,計算輸入物料的個數。
* 3、檢查物料輸入的數量是否有效
*/
//取得不為空值的長度
String [] textfield1 = request.getParameterValues("textfield1");
int x=0;
for(int i=0;i<textfield1.length;i++){
// String temp=null;
if(!textfield1[i].equals("")){
//out.print(i+":"+textfield1[i]+"<br>");
//String temp=String.valueOf(textfield1[i]);
//_textfield1[x]=new String(temp);
//_element[x]=i;
x=x+1;
}
}
//申明一個新的陣列,將不為空的值儲存在此陣列中
String [] _textfield1 = new String[x];
//儲存不為空值的下標值
int [] _element = new int[x];
x=0;
for(int i=0;i<textfield1.length;i++){
// String temp=null;
if(!textfield1[i].equals("")){
out.print(i+":"+textfield1[i]+"<br>");
String temp=textfield1[i].toString();
_textfield1[x]=new String(temp);
_element[x]=i;
x=x+1;
}
}
//輸出新的陣列
out.print("輸入新陣列:<br>");
for(int i=0;i<_textfield1.length;i++){
out.print("新陣列_textfield1["+i+"]的值:"+_textfield1[i].toString()+"<br>");
}
out.print("輸入不為空的下標:<br>");
for(int i=0;i<_element.length;i++){
out.print("_element["+i+"]的值:"+_element[i]+"<br>");
}
out.print("不為空值的長度:"+x+"<br>");
out.print(textfield1.length+"<br>");
out.print(_textfield1.length+"<br>");
out.print(_element.length+"<br>");
String [] textfield2 = request.getParameterValues("textfield2");
String [] textfield3 = request.getParameterValues("textfield3");
String [] textfield4 = request.getParameterValues("textfield4");
String [] textfield5 = request.getParameterValues("textfield5");