1. 程式人生 > >java陣列的處理(過濾元素)

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>&nbsp;</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">&nbsp;</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");