⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user.java

📁 21点游戏实现一个21点游戏
💻 JAVA
字号:
//package game;

import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;
import javax.xml.parsers.*;

public class User {
	static final long serialVersionUID = 1;
	private String name;
	private String ico;
	private int money;
	private static String userInfomationFile = "config\\userInformation.xml";
	User(){
		
	}
	
	User(String n, int m, String i){
		name = n;
		money = m;
		ico = i;
	}
	
	public void init(String n){
		name = n;
		money = readUserMoney();
		ico = readUserIco();
	}
	
	private Document creatDoc(){
		try{
			File f = new File(userInfomationFile);
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();
			Document doc = builder.parse(f);		
			return doc;
		}catch(Exception e){
			System.out.println("ReadError");
			return null;
		}
	}

	public void writeDoc(Document doc){
		
		TransformerFactory tFactory =TransformerFactory.newInstance();
		try{
			Transformer transformer = tFactory.newTransformer();
			DOMSource source = new DOMSource(doc);
		
			StreamResult result = new StreamResult(new File(userInfomationFile));

			transformer.transform(source, result);
		}catch(Exception e){
			System.out.println("Error");
		}
	}
	/*
	private String readUserName(){
		return getUserNode().getFirstChild().getNodeValue();
	}
	*/
	private int readUserMoney(){
		return Integer.parseInt(getUserNode().getNextSibling().getFirstChild().getNodeValue());
	}
	
	private String readUserIco(){
		return getUserNode().getNextSibling().getNextSibling().getFirstChild().getNodeValue();
	}
	public String getUserName(){
		return this.name;
	}
	
	public int getUserMoney(){
		return this.money;
	}	
	
	public String getUserIco(){
		return this.ico;
	}
	
	public void setUserName(String n){
		this.name = n;
	}
	
	public void setUserMoney(int m){
		this.money = m;
	}
	
	public void setUserIco(String i){
		this.ico = i;
	}
	
	public void addUser(){
		
		Document XMLDocument = creatDoc();
		Element nameNode=XMLDocument.createElement("name");
		nameNode.appendChild(XMLDocument.createTextNode(name));
		
		Element moneyNode=XMLDocument.createElement("money");
		moneyNode.appendChild(XMLDocument.createTextNode(money + ""));
		
		Element icoNode=XMLDocument.createElement("ico");
		icoNode.appendChild(XMLDocument.createTextNode(ico));
		
		Element userNode=XMLDocument.createElement("user");
		userNode.appendChild(nameNode);
		userNode.appendChild(moneyNode);
		userNode.appendChild(icoNode);
		
		XMLDocument.getDocumentElement().appendChild(userNode);
		
		writeDoc(XMLDocument);
	}
	
	public boolean isUser(String n){
		if( getUserNode() != null){
			return true;
		}
		else{
			return false;
		}
			
	}
	
	public Node getUserNode(){
		Document XMLDocument = creatDoc();
		NodeList userList = XMLDocument.getElementsByTagName("user");
		for(int i = 0;i < userList.getLength(); i++){
			if(name.equals(XMLDocument.getElementsByTagName("name").item(i).getFirstChild().getNodeValue())){
				Node tempN = XMLDocument.getElementsByTagName("name").item(i);
				return tempN;
			}
		}
		return null;
	}
	
	public void removeUser(){
		Document XMLDocument = creatDoc();
		XMLDocument.getDocumentElement().removeChild(getUserNode());
		writeDoc(XMLDocument);
	}
	
	public void save(){
		Document XMLDocument = creatDoc();
		NodeList userList = XMLDocument.getElementsByTagName("user");
		for(int i = 0;i < userList.getLength(); i++){
			if(name.equals(XMLDocument.getElementsByTagName("name").item(i).getFirstChild().getNodeValue())){
				Node tempN = XMLDocument.getElementsByTagName("name").item(i);
				//tempN.getFirstChild().setNodeValue("mirong");
				tempN.getNextSibling().getFirstChild().setNodeValue(money + "");//保存money
				tempN.getNextSibling().getNextSibling().getFirstChild().setNodeValue(ico);
			}
		}
		writeDoc(XMLDocument);
		init(name);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -