yooli88

          2011年4月6日 #

          java 字符串解析 轉(zhuǎn)至csdn的afgasdg

          StringTokenizer tokenizer = new StringTokenizer(number, ",");
                 
          boolean bool = true;
                 
          while (tokenizer.hasMoreTokens()) {
                     
          try {
                          Double.valueOf(tokenizer.nextToken());
                      }
          catch (Exception e) {
                          bool
          = false;
                      }
                  }
          //將字符串轉(zhuǎn)化為數(shù)組的方法
          int gv[];
            
          int i = 0;
             StringTokenizer tokenizer
          = new StringTokenizer(goodsVolume, ",, ");
                   gv
          = new int[tokenizer.countTokens()];//動(dòng)態(tài)的決定數(shù)組的長(zhǎng)度
               while (tokenizer.hasMoreTokens()) {
                  String d
          = tokenizer.nextToken();
                  gv[i]
          = Integer.valueOf(d);//將字符串轉(zhuǎn)換為整型
                  i++;
              }

          //字符串解析
              private String[] stringAnalytical(String str, String divisionChar) {
                  String string[];
                
          int i = 0;
                  StringTokenizer tokenizer
          = new StringTokenizer(str, divisionChar);
                  string
          = new String[tokenizer.countTokens()];// 動(dòng)態(tài)的決定數(shù)組的長(zhǎng)度
                   while (tokenizer.hasMoreTokens()) {
                      string[i]
          = new String();
                      string[i]
          = tokenizer.nextToken();
                      i
          ++;
                  }
                 
          return string;// 返回字符串?dāng)?shù)組
              }

          int countTokens()
                    計(jì)算在生成異常之前可以調(diào)用此 tokenizer 的 nextToken 方法的次數(shù)。
          boolean hasMoreElements()
                    返回與 hasMoreTokens 方法相同的值。
          boolean hasMoreTokens()
                    測(cè)試此 tokenizer 的字符串中是否還有更多的可用標(biāo)記。
          Object nextElement()
                    除了其聲明返回值是 Object 而不是 String 之外,它返回與 nextToken 方法相同的值。
          String nextToken()
                    返回此 string tokenizer 的下一個(gè)標(biāo)記。
          String nextToken(String delim)
                    返回此 string tokenizer 的字符串中的下一個(gè)標(biāo)記。




          public class StringAnalytical {

             
          // 字符串解析,將字符串轉(zhuǎn)根據(jù)分割符換成字符串?dāng)?shù)組
              private String[] stringAnalytical(String string, char c) {
                 
          int i = 0;
                 
          int count = 0;

                 
          if (string.indexOf(c) == -1)
                     
          return new String[] { string };// 如果不含分割符則返回字符本身
                  char[] cs = string.toCharArray();
                 
          int length = cs.length;
                 
          for (i = 1; i < length - 1; i++) {// 過濾掉第一個(gè)和最后一個(gè)是分隔符的情況
                      if (cs[i] == c) {
                          count
          ++;// 得到分隔符的個(gè)數(shù)
                      }
                  }
                  String[] strArray
          = new String[count + 1];
                 
          int k = 0, j = 0;
                  String str
          = string;
                 
          if ((k = str.indexOf(c)) == 0)// 去掉第一個(gè)字符是分隔符的情況
                      str = str.substring(k + 1);
                 
          if (str.indexOf(c) == -1)// 檢測(cè)是否含分隔符,如果不含則返回字符串
                      return new String[] { str };
                 
          while ((k = str.indexOf(c)) != -1) {// 字符串含分割符的時(shí)候
                      strArray[j++] = str.substring(0, k);
                      str
          = str.substring(k + 1);
                     
          if ((k = str.indexOf(c)) == -1 && str.length() > 0)
                          strArray[j
          ++] = str.substring(0);
                  }
                 
          return strArray;
              }

             
          public void printString(String[] s) {
                  System.out.println(
          "*********************************");
                 
          for (String str : s)
                      System.out.println(str);
              }

             
          public static void main(String[] args) {
                  String[] str
          = null;
                  StringAnalytical string
          = new StringAnalytical();
                  str
          = string.stringAnalytical("1aaa", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("2aaa@", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@3aaa", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("4aaa@bbb", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@5aaa@bbb", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("6aaa@bbb@", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@7aaa@", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@8aaa@bbb@", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@9aaa@bbb@ccc", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@10aaa@bbb@ccc@eee", '@');
                  string.printString(str);
              }
          }

          posted @ 2011-04-06 18:54 迷茫在java的世界里 閱讀(368) | 評(píng)論 (0)編輯 收藏

          java日期處理bean 轉(zhuǎn)至csdn的afgasdg

               摘要: import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.regex.Pattern; import o...  閱讀全文

          posted @ 2011-04-06 18:52 迷茫在java的世界里 閱讀(210) | 評(píng)論 (0)編輯 收藏

          從 csdn看到的一些很有用的代碼 灰常感謝afgasdg了 轉(zhuǎn)帖請(qǐng)注明afgasdg

          java訪問xml文件
          Java code

          import java.io.*;
          import javax.xml.parsers.DocumentBuilder;
          import javax.xml.parsers.DocumentBuilderFactory;
          import org.w3c.dom.Document;
          import org.w3c.dom.Element;
          import org.w3c.dom.Node;
          import org.w3c.dom.NodeList;

          public class xmljava
          {

          public static void main(String args[])
              {   
                    Element element
          =null;
                    File f
          =new File("a.xml");
                    DocumentBuilder db
          =null;        //documentBuilder為抽象不能直接實(shí)例化(將XML文件轉(zhuǎn)換為DOM文件)
                    DocumentBuilderFactory dbf=null;
               
          try{
                  
                    dbf
          = DocumentBuilderFactory.newInstance(); //返回documentBuilderFactory對(duì)象  
                    db =dbf.newDocumentBuilder();//返回db對(duì)象用documentBuilderFatory對(duì)象獲得返回documentBuildr對(duì)象

                    Document dt
          = db.parse(f); //得到一個(gè)DOM并返回給document對(duì)象
                    element = dt.getDocumentElement();//得到一個(gè)elment根元素
                   
                    System.out.println(
          "根元素:"+element.getNodeName()); //獲得根節(jié)點(diǎn)

                  NodeList childNodes
          =element.getChildNodes() ;    // 獲得根元素下的子節(jié)點(diǎn)
             
               
          for (int i = 0; i < childNodes.getLength(); i++)     // 遍歷這些子節(jié)點(diǎn)

             {      
                 Node node1
          = childNodes.item(i); // childNodes.item(i); 獲得每個(gè)對(duì)應(yīng)位置i的結(jié)點(diǎn)

              
          if ("Account".equals(node1.getNodeName()))
                {
                                 
          // 如果節(jié)點(diǎn)的名稱為"Account",則輸出Account元素屬性type
                System.out.println("\r\n找到一篇賬號(hào). 所屬區(qū)域: "   + node1.getAttributes().getNamedItem        ("type").getNodeValue() + ". ");
                NodeList nodeDetail
          = node1.getChildNodes();   // 獲得<Accounts>下的節(jié)點(diǎn)
                for (int j = 0; j < nodeDetail.getLength(); j++)
                 {  
          // 遍歷<Accounts>下的節(jié)點(diǎn)
                    Node detail = nodeDetail.item(j);    // 獲得<Accounts>元素每一個(gè)節(jié)點(diǎn)
                      if ("code".equals(detail.getNodeName()))   // 輸出code
                      System.out.println("卡號(hào): " + detail.getTextContent());
                      
          else if ("pass".equals(detail.getNodeName())) // 輸出pass
                          System.out.println("密碼: " + detail.getTextContent());
                      
          else if ("name".equals(detail.getNodeName())) // 輸出name
                          System.out.println("姓名: " + detail.getTextContent());
                      
          else if ("money".equals(detail.getNodeName())) // 輸出money
                           System.out.println("余額: "+ detail.getTextContent());
               
                  }
                }

              }
          }

          catch(Exception e){System.out.println(e);}
             
          }
          }


          XML code
          <?xml version="1.0" encoding="gbk"?> <Accounts> <Account type="by0003"> <code>100001</code> <pass>123</pass> <name>李四</name> <money>1000000.00</money> </Account> <Account type="hz0001"> <code>100002</code> <pass>123</pass> <name>張三</name> <money>1000.00</money> </Account> </Accounts>

          posted @ 2011-04-06 18:49 迷茫在java的世界里 閱讀(192) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 喜德县| 马关县| 河池市| 金塔县| 祁阳县| 军事| 麻城市| 玛曲县| 岳西县| 上林县| 抚州市| 通城县| 古丈县| 湘乡市| 威信县| 桃源县| 平原县| 柘荣县| 霍山县| 南京市| 淮安市| 嘉义县| 临澧县| 德清县| 潞城市| 海晏县| 咸宁市| 沿河| 普安县| 朝阳县| 奉新县| 合阳县| 呼伦贝尔市| 博客| 宁都县| 那坡县| 北碚区| 都安| 阿鲁科尔沁旗| 文昌市| 汉川市|