2011年4月6日
#
StringTokenizer tokenizer
= new StringTokenizer(number, ",");
boolean bool = true;
while (tokenizer.hasMoreTokens()) {
try {
Double.valueOf(tokenizer.nextToken());
} catch (Exception e) {
bool = false;
}
}
//将字符串转化为数组的方法
int gv[];
int i = 0;
StringTokenizer tokenizer = new StringTokenizer(goodsVolume, ",, ");
gv = new int[tokenizer.countTokens()];//动态的决定数组的长度
while (tokenizer.hasMoreTokens()) {
String d = tokenizer.nextToken();
gv[i] = Integer.valueOf(d);//将字符串转换为整型
i++;
}
//字符串解析
private String[] stringAnalytical(String str, String divisionChar) {
String string[];
int i = 0;
StringTokenizer tokenizer = new StringTokenizer(str, divisionChar);
string = new String[tokenizer.countTokens()];// 动态的决定数组的长度
while (tokenizer.hasMoreTokens()) {
string[i] = new String();
string[i] = tokenizer.nextToken();
i++;
}
return string;// 返回字符串数组
}
int countTokens()
计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数。
boolean hasMoreElements()
返回与 hasMoreTokens 方法相同的值。
boolean hasMoreTokens()
测试此 tokenizer 的字符串中是否还有更多的可用标记。
Object nextElement()
除了其声明返回值是 Object 而不是 String 之外,它返回与 nextToken 方法相同的值。
String nextToken()
返回此 string tokenizer 的下一个标记。
String nextToken(String delim)
返回此 string tokenizer 的字符串中的下一个标记。
public class StringAnalytical {
// 字符串解析,将字符串转根据分割符换成字符串数组
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++) {// 过滤掉第一个和最后一个是分隔符的情况
if (cs[i] == c) {
count++;// 得到分隔符的个数
}
}
String[] strArray = new String[count + 1];
int k = 0, j = 0;
String str = string;
if ((k = str.indexOf(c)) == 0)// 去掉第一个字符是分隔符的情况
str = str.substring(k + 1);
if (str.indexOf(c) == -1)// 检测是否含分隔符,如果不含则返回字符串
return new String[] { str };
while ((k = str.indexOf(c)) != -1) {// 字符串含分割符的时候
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);
}
}
摘要: 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...
阅读全文
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为抽象不能直接实例化(将XML文件转换为DOM文件)
DocumentBuilderFactory dbf=null;
try{
dbf= DocumentBuilderFactory.newInstance(); //返回documentBuilderFactory对象
db =dbf.newDocumentBuilder();//返回db对象用documentBuilderFatory对象获得返回documentBuildr对象
Document dt= db.parse(f); //得到一个DOM并返回给document对象
element = dt.getDocumentElement();//得到一个elment根元素
System.out.println("根元素:"+element.getNodeName()); //获得根节点
NodeList childNodes =element.getChildNodes() ; // 获得根元素下的子节点
for (int i = 0; i < childNodes.getLength(); i++) // 遍历这些子节点
{
Node node1 = childNodes.item(i); // childNodes.item(i); 获得每个对应位置i的结点
if ("Account".equals(node1.getNodeName()))
{
// 如果节点的名称为"Account",则输出Account元素属性type
System.out.println("\r\n找到一篇账号. 所属区域: " + node1.getAttributes().getNamedItem ("type").getNodeValue() + ". ");
NodeList nodeDetail = node1.getChildNodes(); // 获得<Accounts>下的节点
for (int j = 0; j < nodeDetail.getLength(); j++)
{ // 遍历<Accounts>下的节点
Node detail = nodeDetail.item(j); // 获得<Accounts>元素每一个节点
if ("code".equals(detail.getNodeName())) // 输出code
System.out.println("卡号: " + 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>
2011年1月31日
#
方法没有确认
import java.util.*;
public class Lottery {
public static void main(String[] args) {
int[] data1 = {3, 5, 6, 8, 9, 15, 18, 24, 27, 30, 32};
Random r = new Random();
int irdm = 0;
for(int i = 0; i < 7; i ++) {
irdm = r.nextInt(11 - i);
System.out.println(data1[irdm]);
for(int j = irdm; j < 11 - i - 1; j ++) {
data1[j] = data1[j + 1];
}
}
}
}
方法没有确认不知道是否可行public class AAAAA {
public static void main(String[] args) {
int i = 0;
int j = 0;
int[] temp = new int[20];
for (j = 0; j < temp.length; j++) {
temp[j] = Math.random() * 100 + 1;
System.out.print(temp[j] + ",";
}
HashSet hh = new HashSet();
while (hh.size() < 7) {
int aa = (int) (Math.random() * 100 + 1);
hh.add(aa);
}
System.out.println(hh.size());
Iterator ii = hh.iterator();
while (ii.hasNext()) {
System.out.print(ii.next() + ",";
}
}
}
java从指定数组中取不重复的7个随机数
如何用java从指定数组中取不重复的7个随机数,以下是我写的代码,但是是有重复的,哪位大侠赐教一下如何使用Random类的种子,帮我实现不重复的随机数。。。
import java.util.*;
public class Lottery {
public static void main(String[] args)
{
int[] data1 = {3,5,6,8,9,15,18,24,27,30,32};
Random r=new Random();
StringBuffer str1=new StringBuffer();
for(int i=0;i<6;i++)
{
str1.append(data1[r.nextInt(11)]);
}
System.out.println(str1);
}
}
2008年4月24日
#
char []a={'v','f',',','e','f'};
Arrays.sort(a);
for(char b:a)
{
System.out.println(b);
}
2007年9月11日
#
/*
* $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/MVNForumGlobal.java,v 1.17 2005/01/18 11:52:08 minhnn Exp $
* $Author: minhnn $
* $Revision: 1.17 $
* $Date: 2005/01/18 11:52:08 $
*
* ====================================================================
*
* Copyright (C) 2002-2005 by MyVietnam.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* All copyright notices regarding mvnForum MUST remain intact
* in the scripts and in the outputted HTML.
* The "powered by" text/logo with a link back to
* http://www.mvnForum.com and http://www.MyVietnam.net in the
* footer of the pages MUST remain visible when the pages
* are viewed on the internet or intranet.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Support can be obtained from support forums at:
* http://www.mvnForum.com/mvnforum/index
*
* Correspondence and Marketing Questions can be sent to:
* info@MyVietnam.net
*
* @author: Minh Nguyen minhnn@MyVietnam.net
* @author: Mai Nguyen mai.nh@MyVietnam.net
*/
package com.mvnforum;
public class MVNForumGlobal {
private MVNForumGlobal() {
}
/*************************************************************************
* NOTE: below constants can be changed for each build,
* these constant MUST NOT break the compatibility
*************************************************************************/
public final static String IMAGE_DIR = "/mvnplugin/mvnforum/images";
public final static String EMOTION_DIR = "/mvnplugin/mvnforum/images/emotion/";
public final static String CSS_FULLPATH = "/mvnplugin/mvnforum/css/style.css";
public final static String LOGO_FULLPATH = "/mvnplugin/mvnforum/images/logo.gif";
// Note that we cannot put / at the end because getRealPath will remove it in Tomcat 4.1.7 :((
public final static String UPLOADED_AVATAR_DIR = "/mvnplugin/mvnforum/upload/memberavatars";
public final static String UPLOADED_COMPANY_DIR = "/mvnplugin/mvnforum/upload/company";
public final static String COMPANY_DEFAULT_CSS_PATH = "/mvnplugin/mvnforum/upload/company/style.css";
public final static String COMPANY_DEFAULT_LOGO_PATH = "/mvnplugin/mvnforum/upload/company/logo.gif";
public final static String RESOURCE_BUNDLE_NAME = "mvnForum_i18n";
/** value to control the flood prevention. Note value from 0 to 999 is belong to mvnCore */
public final static Integer FLOOD_ID_NEW_POST = new Integer(1000);
public final static Integer FLOOD_ID_NEW_MEMBER = new Integer(1001);
public final static Integer FLOOD_ID_LOGIN = new Integer(1002);
public final static Integer FLOOD_ID_NEW_MESSAGE = new Integer(1003);
/** The maximum length of the email in database */
public final static int MAX_MEMBER_EMAIL_LENGTH = 60;
/** The maximum length of the member login name in database */
public final static int MAX_MEMBER_LOGIN_LENGTH = 30;
public final static String TEMPLATE_SENDACTIVATECODE_PREFIX = "sendactivemailtemplate";
public final static String TEMPLATE_SENDACTIVATECODE_SUBJECT = "sendactivemailtemplate-subject.ftl";
public final static String TEMPLATE_SENDACTIVATECODE_BODY = "sendactivemailtemplate-body.ftl";
public final static String TEMPLATE_FORGOTPASSWORD_PREFIX = "forgotpasswordtemplate";
public final static String TEMPLATE_FORGOTPASSWORD_SUBJECT = "forgotpasswordtemplate-subject.ftl";
public final static String TEMPLATE_FORGOTPASSWORD_BODY = "forgotpasswordtemplate-body.ftl";
public final static String TEMPLATE_WATCHMAIL_PREFIX = "watchmailtemplate";
public final static String TEMPLATE_WATCHMAIL_SUBJECT = "watchmailtemplate-subject.ftl";
public final static String TEMPLATE_WATCHMAIL_BODY = "watchmailtemplate-body.ftl";
// Constant for Company module
public final static String COMPANY_GROUP_FREFIX = "CompanyGroup: ";
}
/*
* $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/MVNForumFactoryConfig.java,v 1.12 2005/01/18 11:52:08 minhnn Exp $
* $Author: minhnn $
* $Revision: 1.12 $
* $Date: 2005/01/18 11:52:08 $
*
* ====================================================================
*
* Copyright (C) 2002-2005 by MyVietnam.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* All copyright notices regarding mvnForum MUST remain intact
* in the scripts and in the outputted HTML.
* The "powered by" text/logo with a link back to
* http://www.mvnForum.com and http://www.MyVietnam.net in the
* footer of the pages MUST remain visible when the pages
* are viewed on the internet or intranet.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Support can be obtained from support forums at:
* http://www.mvnForum.com/mvnforum/index
*
* Correspondence and Marketing Questions can be sent to:
* info@MyVietnam.net
*
* @author: Luis Miguel Hernanz <luish@germinus.com>
* @author: Minh Nguyen minhnn@MyVietnam.net
*/
package com.mvnforum;
import java.io.File;
import net.myvietnam.mvncore.configuration.DOM4JConfiguration;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import net.myvietnam.mvncore.util.FileUtil;
/**
* Class that loads and makes accesible the factory configuration.
*
* @author <a href="luish@germinus.com">Luis Miguel Hernanz</a>
* @version $Revision: 1.12 $
*/
public class MVNForumFactoryConfig {
private static Log log = LogFactory.getLog(MVNForumFactoryConfig.class);
private static final String OPTION_FILE_NAME = "mvnforum.xml";
private static String authenticatorClassName = null;
private static String memberManagerClassName = "com.mvnforum.db.jdbc.MemberDAOImplJDBC";
private static String onlineUserFactoryClassName = "com.mvnforum.auth.OnlineUserFactoryImpl";
private static String requestProcessorClassName = "com.mvnforum.RequestProcessorDefault";
private static String luceneAnalyzerClassName = "org.apache.lucene.analysis.standard.StandardAnalyzer";
public static String getMemberManagerClassName() {
return memberManagerClassName;
}
public static String getOnlineUserFactoryClassName() {
return onlineUserFactoryClassName;
}
public static String getAuthenticatorClassName() {
return authenticatorClassName;
}
public static String getRequestProcessorClassName() {
return requestProcessorClassName;
}
public static String getLuceneAnalyzerClassName() {
return luceneAnalyzerClassName;
}
static {
try {
String strPathName = FileUtil.getServletClassesPath();
String configFilename = strPathName + OPTION_FILE_NAME;
DOM4JConfiguration conf = new DOM4JConfiguration(new File(configFilename));
memberManagerClassName = conf.getString("mvnforumfactoryconfig.member_implementation", memberManagerClassName);
onlineUserFactoryClassName = conf.getString("mvnforumfactoryconfig.onlineuser_implementation", onlineUserFactoryClassName);
authenticatorClassName = conf.getString("mvnforumfactoryconfig.authenticator_implementation", authenticatorClassName);
requestProcessorClassName = conf.getString("mvnforumfactoryconfig.requestprocessor_implementation", requestProcessorClassName);
luceneAnalyzerClassName = conf.getString("mvnforumfactoryconfig.lucene_analyzer_implementation", luceneAnalyzerClassName);
} catch (Exception e) {
log.error("Error loading the factory properties", e);
}
}
}
/*
* $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/MVNForumContextListener.java,v 1.6 2005/01/18 11:52:08 minhnn Exp $
* $Author: minhnn $
* $Revision: 1.6 $
* $Date: 2005/01/18 11:52:08 $
*
* ====================================================================
*
* Copyright (C) 2002-2005 by MyVietnam.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* All copyright notices regarding mvnForum MUST remain intact
* in the scripts and in the outputted HTML.
* The "powered by" text/logo with a link back to
* http://www.mvnForum.com and http://www.MyVietnam.net in the
* footer of the pages MUST remain visible when the pages
* are viewed on the internet or intranet.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Support can be obtained from support forums at:
* http://www.mvnForum.com/mvnforum/index
*
* Correspondence and Marketing Questions can be sent to:
* info@MyVietnam.net
*
* @author: Minh Nguyen minhnn@MyVietnam.net
* @author: Mai Nguyen mai.nh@MyVietnam.net
*/
package com.mvnforum;
import java.sql.Timestamp;
import javax.servlet.*;
import net.myvietnam.mvncore.util.DateUtil;
import net.myvietnam.mvncore.util.FileUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class MVNForumContextListener implements ServletContextListener {
private static Log log = LogFactory.getLog(MVNForumContextListener.class);
private static MVNForumContextListener instance;
private Timestamp startTimestamp;
/**
* The servlet context with which we are associated.
*/
private ServletContext context = null;
public MVNForumContextListener() {
instance = this;
}
/**
* Notification that the web application is ready to process requests.
*
* @param event ServletContextEvent
*/
public void contextInitialized(ServletContextEvent event) {
log.debug("contextInitialized");
this.context = event.getServletContext();
String realPath = context.getRealPath("/WEB-INF/classes");// Add '/' before WEB-INF to fix the Oracle 10G bug
FileUtil.setServletClassesPath(realPath);
startTimestamp = DateUtil.getCurrentGMTTimestamp();
}
/**
* Notification that the servlet context is about to be shut down.
*
* @param event ServletContextEvent
*/
public void contextDestroyed(ServletContextEvent event) {
log.debug("contextDestroyed");
this.context = null;
instance = null;
}
// below are add on method
public static MVNForumContextListener getInstance() {
return instance;
}
public Timestamp getStartTimestamp() {
return startTimestamp;
}
}
/*
* $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/MVNForumConstant.java,v 1.8 2005/01/18 11:52:08 minhnn Exp $
* $Author: minhnn $
* $Revision: 1.8 $
* $Date: 2005/01/18 11:52:08 $
*
* ====================================================================
*
* Copyright (C) 2002-2005 by MyVietnam.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* All copyright notices regarding mvnForum MUST remain intact
* in the scripts and in the outputted HTML.
* The "powered by" text/logo with a link back to
* http://www.mvnForum.com and http://www.MyVietnam.net in the
* footer of the pages MUST remain visible when the pages
* are viewed on the internet or intranet.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Support can be obtained from support forums at:
* http://www.mvnForum.com/mvnforum/index
*
* Correspondence and Marketing Questions can be sent to:
* info@MyVietnam.net
*
* @author: Minh Nguyen minhnn@MyVietnam.net
* @author: Mai Nguyen mai.nh@MyVietnam.net
* @author: Igor Manic imanic@users.sourceforge.net
*/
package com.mvnforum;
public final class MVNForumConstant {
/** Cannot instantiate. */
private MVNForumConstant() {
}
/*************************************************************************
* NOTE: below constants MUST NOT be changed IN ALL CASES,
* or it will break the compatibility
*************************************************************************/
/** Guest/anonymous site visitor. */
public static final int MEMBER_ID_OF_GUEST = 0;
/** System administrator. */
public static final int MEMBER_ID_OF_ADMIN = 1;
/**
* The highest reserved MemberID.
* All IDs from 0 through this value should not be used for "regular" members.
*/
public static final int LAST_RESERVED_MEMBER_ID = 1;
/* IMPORTANT: When we have a group without group owner, GroupOwnerID is set to 0.
* Similiar is for other IDs in the database - 0 means there is no reference.
* Also, the other reason why MemberID=0 should not be used for Guest is
* that DBMS could refuse to insert a record with 0 in that field, since it's
* marked as non-null autoincrement primary key.
*/
/** Unused GroupID. */
public static final int GROUP_ID_UNUSED0 = 0;
/**
* Unused GroupID. In the previous versions of mvnForum it was used for some
* special purposes, but should not be used anymore.
*/
public static final int GROUP_ID_OF_GUEST = 1;
/** "Registered Members" virtual group. All members are listed in this group. */
public static final int GROUP_ID_OF_REGISTERED_MEMBERS = 2;
/**
* The highest reserved GroupID.
* All IDs from 0 through this value should not be used for "regular" groups.
*/
public static final int LAST_RESERVED_GROUP_ID = 2;
/** "Inbox" message folder created by default for each member. */
public static final String MESSAGE_FOLDER_INBOX = "Inbox";
/** "Sent" message folder created by default for each member. */
public static final String MESSAGE_FOLDER_SENT = "Sent";
/** "Draft" message folder created by default for each member. */
public static final String MESSAGE_FOLDER_DRAFT = "Draft";
/** "Trash" message folder created by default for each member. */
public static final String MESSAGE_FOLDER_TRASH = "Trash";
public static final String dtdschemaDecl="<!DOCTYPE mvnforum SYSTEM \"http://www.mvnforum.com/dtd/mvnforum_1_0_rc2.dtd\">";
public static final String VN_TYPER_MODE = "mvnforum.vntypermode";
}
摘要: /*
* $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/MVNForumConfig.java,v 1.75 2005/01/29 19:29:26 minhnn Exp $
* $Author: minhnn $
* $Revision: 1.75 $
* $Date: 2005/...
阅读全文