bankaccount.java

来自「用jsp+servlet」· Java 代码 · 共 131 行

JAVA
131
字号
package server;import java.io.*;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.util.ArrayList;/** * A bank account has a balance that can be changed by deposits and withdrawals. */public class BankAccount {	/**	 * Constructs a bank account with a zero balance.	 */	public BankAccount(int aNumber, int pin) {		try {			URLConnection con = getServletConnection("balance");			OutputStream outstream = con.getOutputStream();			ObjectOutputStream oos = new ObjectOutputStream(outstream);			oos.writeObject(aNumber+"&"+pin);			oos.flush();			oos.close();			// receive result from servlet			InputStream instr = con.getInputStream();			ObjectInputStream inputFromServlet = new ObjectInputStream(instr);			String result = (String) inputFromServlet.readObject();			balance=Double.parseDouble(result);			inputFromServlet.close();			instr.close();		} catch (Exception e) {			balance = 0;			e.printStackTrace();			// TODO: handle exception		}	}	/**	 * Constructs a bank account with a given balance.	 * 	 * @param initialBalance	 *            the initial balance	 */	public BankAccount(double initialBalance) {		balance = initialBalance;	}	/**	 * Withdraws money from the account.	 * 	 * @param the	 *            amount of money to withdraw	 */	public void deposit(double amount,Customer c) {		try {			URLConnection con = getServletConnection("deposit");			OutputStream outstream = con.getOutputStream();			ObjectOutputStream oos = new ObjectOutputStream(outstream);			oos.writeObject(amount+"&"+c.getCustomerNumber()+"&"+c.getPin());			oos.flush();			oos.close();			// receive result from servlet			InputStream instr = con.getInputStream();			ObjectInputStream inputFromServlet = new ObjectInputStream(instr);			String result = (String) inputFromServlet.readObject();			balance+=Double.parseDouble(result);			inputFromServlet.close();			instr.close();		} catch (Exception e) {			e.printStackTrace();			// TODO: handle exception		}	}	/**	 * Deposits money into the account.	 * 	 * @param the	 *            amount of money to deposit	 */	public void withdraw(double amount,Customer c) {		try {			URLConnection con = getServletConnection("withdraw");			OutputStream outstream = con.getOutputStream();			ObjectOutputStream oos = new ObjectOutputStream(outstream);			oos.writeObject(amount+"&"+c.getCustomerNumber()+"&"+c.getPin());			oos.flush();			oos.close();			// receive result from servlet			InputStream instr = con.getInputStream();			ObjectInputStream inputFromServlet = new ObjectInputStream(instr);			String result = (String) inputFromServlet.readObject();			balance-=Double.parseDouble(result);			inputFromServlet.close();			instr.close();		} catch (Exception e) {			e.printStackTrace();			// TODO: handle exception		}	}	/**	 * Gets the account balance.	 * 	 * @return the account balance	 */	public double getBalance() {		return balance;	}	private URLConnection getServletConnection(String addr)			throws MalformedURLException, IOException {		// Connection zum Servlet 鰂fnen		URL urlServlet = new URL("http://localhost:8080/mid3t/" + addr);		URLConnection con = urlServlet.openConnection();		// konfigurieren		con.setDoInput(true);		con.setDoOutput(true);		con.setUseCaches(false);		con.setRequestProperty("Content-Type",				"application/x-java-serialized-object");		// und zur點kliefern		return con;	}	private double balance;}

⌨️ 快捷键说明

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