?? cart.java~61~
字號(hào):
package com.hygj.sunqi.j2ee.model;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
import org.apache.log4j.Logger;
import java.io.*;
import java.util.*;
import java.sql.*;
public class Cart {
//私有成員變量
private static Logger log = Logger.getLogger(Cart.class);
private ArrayList myCart = new ArrayList();
private Connection conn=null;
private Statement stmt=null;
private ResultSet rs=null;
private String classForName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=HYGJ";
public Cart() {
}
//數(shù)據(jù)庫(kù)連接
public int conn(String userName,String passWd){
String password = "";
try{
Class.forName(classForName);
conn = DriverManager.getConnection(url,"sa","qaz123");
stmt = conn.createStatement();
String sql = "select userPwd from users where userName='"+userName+"'";
rs = stmt.executeQuery(sql);
while(rs.next()){
password = rs.getString("userPwd");
}
stmt.close();
conn.close();
rs.close();
if(passWd.equals(password)){
log.info("登錄成功");
return 3;
}else{
log.info("登錄失敗");
return 2;
}
}catch(Exception e){
log.error(e.getMessage());
return 0;
}
}
//添加產(chǎn)品
public void addProduct(Product parProduct){
myCart.add(parProduct);
log.info("你購(gòu)買(mǎi)的物品是"+parProduct.getProductName()+",物品的價(jià)格為"+parProduct.getProductPrice());
}
//刪除產(chǎn)品
public void removeProduct(Product parProduct){
int num = 0;
int j = 0;//記錄刪除的次數(shù)
if((num = myCart.size())!= 0){
for(int i = 0; i < num; i++){
Product temp = (Product)myCart.get(i);
if(temp.getProductName().equals(parProduct.getProductName())
&& (temp.getProductPrice() == parProduct.getProductPrice())){
myCart.remove(i);
j++;
break;
}
}
}
if(j == 0){
log.info("沒(méi)有你要?jiǎng)h除的物品!");
}else{
log.info("你總共刪除了"+j+"樣物品!");
}
}
//結(jié)算
public float getTotalPrice(){
float sum = 0;
for(int i = 0;i < myCart.size();i++){
Product temp = (Product)myCart.get(i);
sum = sum + temp.getProductPrice();
}
return sum;
}
//列出所有產(chǎn)品
public void listProduct(){
System.out.println("你總共買(mǎi)了"+myCart.size()+"樣物品");
//System.out.println("你所買(mǎi)的物品及其價(jià)格為:");
for(int i = 0; i < myCart.size(); i++){
Product proInfo =(Product) myCart.get(i);
log.info("你所買(mǎi)的第"+(i+1)+"樣物品為:"+proInfo.getProductName()+",");
log.info("價(jià)格為:"+proInfo.getProductPrice()+"元");
}
}
//列出有多少個(gè)商品
public int getNum(){
int number = myCart.size();
return number;
}
//入口函數(shù)
public static void main(String[] args){
log.info("歡迎登陸麒麟購(gòu)物系統(tǒng):");
Cart cart1 = new Cart();
String selInfo = "";
String productInfo = "";
String productInfo2 = "";
float productInfo3 = 0;
int selInfo1 = 0;
//循環(huán)
while (true) {
log.info("1.購(gòu)物");
log.info("2.刪除");
log.info("3.結(jié)算");
log.info("4.列出物品");
log.info("5.退出");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
selInfo= br.readLine();
}catch(Exception e){
log.error(e.getMessage());
}
try{
selInfo1 = Integer.parseInt(selInfo);
}catch(Exception ec){
log.warn("請(qǐng)輸入整數(shù)!");
continue;
//System.out.println("kd");
//System.out.println(ec.getMessage());
}
//判斷選擇1,2,3,4,5,其它的都重新輸入
if(selInfo1 == 1 || selInfo1 == 2 || selInfo1 == 3 || selInfo1 == 4 || selInfo1 == 5){
switch (selInfo1) {
case 1:
log.info("請(qǐng)輸入產(chǎn)品的名稱與價(jià)格:(以逗號(hào)分隔)");
try{
productInfo = br.readLine();
int flag1 = productInfo.indexOf(",");
//判斷輸入是否以逗號(hào)分隔,否則重新輸入
if(flag1 < 0){
log.warn("請(qǐng)以逗號(hào)分隔!!!");
break;
}else{
String[] productInfoArr = productInfo.split(",");
//判斷逗號(hào)后是否輸入的是數(shù)字
try{
productInfo3 = Float.parseFloat(productInfoArr[1]);
}catch(Exception ed){
log.warn("逗號(hào)后請(qǐng)輸入數(shù)字,謝謝合作!!!");
break;
//System.out.println(ed.getMessage());
}
Product product = new Product(productInfoArr[0],productInfo3);
cart1.addProduct(product);
break;
}
}
catch (Exception ea) {
log.error(ea.getMessage());
break;
}
case 2:
int number1 = cart1.getNum();
if(number1 == 0){
log.warn("你沒(méi)有物品可以刪除!");
break;
}else{
log.warn("請(qǐng)輸入要?jiǎng)h除的產(chǎn)品信息:(以逗號(hào)分隔)");
try{
productInfo2 = br.readLine();
int flag1 = productInfo2.indexOf(",");
//判斷輸入是否以逗號(hào)分隔,否則重新輸入
if (flag1 < 0) {
log.warn("請(qǐng)以逗號(hào)分隔!!!");
break;
}
else {
String[] productInfoArr = productInfo2.split(",");
//判斷逗號(hào)后是否輸入的是數(shù)字
try {
productInfo3 = Float.parseFloat(productInfoArr[1]);
}
catch (Exception ed) {
log.warn("逗號(hào)后請(qǐng)輸入數(shù)字,謝謝合作!!!");
break;
//System.out.println(ed.getMessage());
}
}
}
catch (Exception eb) {
log.error(eb.getMessage());
break;
}
String[] productInfoArr2 = productInfo2.split(",");
Product product2 = new Product(productInfoArr2[0],
Float.parseFloat(productInfoArr2[1]));
cart1.removeProduct(product2);
break;
}
case 3:
String userName = "";
int number2 = cart1.getNum();
if(number2 == 0){
log.warn("你沒(méi)有物品可以結(jié)算!");
break;
}else{
log.warn("請(qǐng)輸入你的用戶名及密碼:(以逗號(hào)分隔)");
try{
userName = br.readLine();
}catch(Exception ee){
log.error(ee.getMessage());
break;
}
System.out.println(userName.indexOf(",")+" "+(userName.length()-1));
if(userName.indexOf(",") < 0|| userName.indexOf(",")==(userName.length()-1)){
log.warn("你輸入的格式不正確,請(qǐng)以逗號(hào)分隔!");
break;
}else{
String[] user = userName.split(",");
int flag2 = cart1.conn(user[0],user[1]);//flag2判斷是否連接成功標(biāo)志
//System.out.println(user[0]+"+"+user[1]);
//System.out.println("flag2="+flag2);
if(flag2 ==3){
log.warn("你所買(mǎi)的產(chǎn)品的總價(jià)錢(qián)共計(jì)為:" + cart1.getTotalPrice()+"元");
break;
}
}
}
break;
case 4:
cart1.listProduct();
break;
case 5:
log.info("謝謝使用!");
return;
}
}else{
log.warn("你輸入的格式不正確,只能輸入1,2,3,4,5!!!");
}
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -