import java.util.*;
專注于為中小企業(yè)提供網站設計制作、成都做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)長寧免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;
class 商品 extends Panel
{String 代號,名稱;int 庫存;float 單價;
商品(String 代號,String 名稱,int 庫存,float 單價)
{this.代號=代號;this.名稱=名稱;this.庫存=庫存;this.單價=單價;
}
}
class ShowWin extends JFrame implements ActionListener
{ Hashtable hashtable=null;
JTextField 代號文本框=new JTextField(),
名稱文本框=new JTextField(),
庫存文本框=new JTextField(),
單價文本框=new JTextField(),
查詢文本框=new JTextField(),
查詢信息文本框=new JTextField(),
刪除文本框=new JTextField();
JButton b_add=new JButton("添加商品"),
b_del=new JButton("刪除商品"),
b_xun=new JButton("查詢商品"),
b_xiu=new JButton("修改商品"),
b_show=new JButton("顯示商品清單");
JTextArea 顯示區(qū)=new JTextArea(25,10);
ShowWin()
{super("倉庫管理窗口");
hashtable=new Hashtable();
Container con=getContentPane();
JScrollPane pane=new JScrollPane(顯示區(qū));
顯示區(qū).setEditable(false);
JPanel save=new JPanel();
save.setLayout(new GridLayout(8,2));
save.add(new Label("輸入代號:"));
save.add(代號文本框);
save.add(new Label("輸入名稱:"));
save.add(名稱文本框);
save.add(new Label("輸入庫存:"));
save.add(庫存文本框);
save.add(new Label("輸入單價:"));
save.add(單價文本框);
save.add(new Label("單擊添加:"));
save.add(b_add);
save.add(new Label("單擊修改:"));
save.add(b_xiu);
save.add(new Label("輸入查詢代號:"));
save.add(查詢文本框);
save.add(new Label("單擊查詢:"));
save.add(b_xun);
JPanel del=new JPanel();
del.setLayout(new GridLayout(2,2));
del.add(new Label("輸入刪除的代號:"));
del.add(刪除文本框);
del.add(new Label("單擊刪除:"));
del.add(b_del);
JPanel show=new JPanel();
show.setLayout(new BorderLayout());
show.add(pane,BorderLayout.CENTER);
show.add(b_show,BorderLayout.SOUTH);
JSplitPane split_one,split_two;
split_one=new JSplitPane(JSplitPane.VERTICAL_SPLIT,save,del);
split_two=new
JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,split_one,show);
con.add(split_two,BorderLayout.CENTER);
JPanel xun=new JPanel();
xun.add(new Label("所得信息:"));
xun.add(查詢信息文本框);
xun.setLayout(new GridLayout(2,1));
con.add(xun,BorderLayout.SOUTH);
b_add.addActionListener(this);
b_del.addActionListener(this);
b_xun.addActionListener(this);
b_xiu.addActionListener(this);
b_show.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==b_add)
{String daihao=null,mingcheng=null;int kucun=0;float danjia=0.0f;
daihao=代號文本框.getText();mingcheng=名稱文本框.getText();
kucun=Integer.parseInt(庫存文本框.getText());
danjia=Float.valueOf(單價文本框.getText()).floatValue();
商品 goods=new 商品(daihao,mingcheng,kucun,danjia);
hashtable.put(daihao,goods);
try{FileOutputStream file=new FileOutputStream("goods.txt");
ObjectOutputStream out=new ObjectOutputStream(file);
out.writeObject(hashtable); out.close();
}
catch(IOException event){}
}
else if(e.getSource()==b_del)
{String daihao1=刪除文本框.getText();
try{FileInputStream come_in=new FileInputStream("goods.txt");
ObjectInputStream in=new ObjectInputStream(come_in);
hashtable=(Hashtable)in.readObject(); //////
in.close();
}
catch(ClassNotFoundException event){}
catch(IOException event){}
商品 temp=(商品)hashtable.get(daihao1);
{hashtable.remove(daihao1);}
try{FileOutputStream file=new FileOutputStream("goods.txt");
ObjectOutputStream out =new ObjectOutputStream(file);
out.writeObject(hashtable);//
out.close();
}
catch(IOException event){}
}
//
else if(e.getSource()==b_xun)
{ String aa;
aa=查詢文本框.getText();
查詢信息文本框.setText(null);
try{FileInputStream come_in=new FileInputStream("goods.txt");
ObjectInputStream in =new ObjectInputStream(come_in);
hashtable=(Hashtable)in.readObject(); ////
in.close();
}
catch(ClassNotFoundException event){}
catch(IOException event){}
商品 a=(商品)hashtable.get(aa);
查詢信息文本框.setText(" 代號:"+a.代號+" 名稱:"+a.名稱+" 庫存:"+a.庫存+" 單價:"+a.單價);
}
//
else if(e.getSource()==b_xiu)
{ String bb;
bb=代號文本框.getText();
try{FileInputStream come_in=new FileInputStream("goods.txt");
ObjectInputStream in=new ObjectInputStream(come_in);
hashtable=(Hashtable)in.readObject(); //////
in.close();
}
catch(ClassNotFoundException event){}
catch(IOException event){}
商品 temp=(商品)hashtable.get(bb);
{hashtable.remove(bb);}
try{FileOutputStream file=new FileOutputStream("goods.txt");
ObjectOutputStream out =new ObjectOutputStream(file);
out.writeObject(hashtable);//
out.close();
}
catch(IOException event){}
String daihao1=null,mingcheng1=null;int kucun1=0;float danjia1=0.0f;
daihao1=代號文本框.getText();mingcheng1=名稱文本框.getText();
kucun1=Integer.parseInt(庫存文本框.getText());
danjia1=Float.valueOf(單價文本框.getText()).floatValue();
商品 goods1=new 商品(daihao1,mingcheng1,kucun1,danjia1);
hashtable.put(daihao1,goods1);
try{FileOutputStream file=new FileOutputStream("goods.txt");
ObjectOutputStream out=new ObjectOutputStream(file);
out.writeObject(hashtable); out.close();
}
catch(IOException event){}
}
//
else if(e.getSource()==b_show)
{ 顯示區(qū).setText(null);
try{FileInputStream come_in=new FileInputStream("goods.txt");
ObjectInputStream in =new ObjectInputStream(come_in);
hashtable=(Hashtable)in.readObject(); ////
}
catch(ClassNotFoundException event){}
catch(IOException event){}
Enumeration enum=hashtable.elements();
while(enum.hasMoreElements())
{ 商品 te=(商品)enum.nextElement();
顯示區(qū).append("商品代號:"+te.代號+" ");
顯示區(qū).append("商品名稱:"+te.名稱+" ");
顯示區(qū).append("商品庫存:"+te.庫存+" ");
顯示區(qū).append("商品單價:"+te.單價+" ");
顯示區(qū).append("\n ");
}
}
}
}
public class LinkListFour
{public static void main(String args[])
{ ShowWin win=new ShowWin();
win.setSize(400,350);
win.setVisible(true);
win.addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{ System.exit(0);}});
}
}
給你個流程,自己學著做,做出來你會很有成就感的,對你的技術也有很大幫助:
倉庫管理系統(tǒng)流程說明
(一)進貨管理
現代商業(yè)管理,進貨環(huán)節(jié)尤為重要,要求現場實時下訂單(Purchase Order),及時補貨。
1、 業(yè)務員根據手中的手持終端(Handheld Terminal,簡稱HHT),調用后臺資料,與實際庫存資料進行實 時對照,并可通過終端無線驅動打印機打印對照表;
2、 業(yè)務員根據實時對照表,現場決定是否應補貨或退貨,通過終端調用后臺數據庫制定訂單,以最快速度進行補貨或退貨;維持庫存的合理性。
(二)上架
將貨物存放到貨位上。
(三)交叉駁運
這種作業(yè)不對商品進行儲存,只處理信息分類。作業(yè)接受來自制造商的顧客組合訂貨,并把他們裝運到個別的顧客處去。交叉站臺是指多對多的配送體系中的貨物調整。直接通過交叉換貨后為客戶配送,可以避免出入庫的麻煩。
(四)收貨管理
1、 供貨商按照訂單要求將貨品送到商場收貨處;
2、 商場驗收人員利用終端調用后臺數據庫中相應的訂單存盤,與供貨商送來的商品逐一檢查對照,并進行確認,包括:商品編碼、商品數量、生產地、品種、規(guī)格、包裝時間、保質時間、舊價格、新價格、變更時間、條形碼標準等信息;
注:終端在系統(tǒng)未授權的情況下無法修改訂單。
3、 商場驗收人員在終端上按[確認]鍵,將信息上傳到后臺服務器,并同時記錄收貨時間和收貨人;
4、 終端可以現場實時調用后臺數據庫中供貨商的歷史訂單,逐一查驗對照核算;
5、 通過終端無線驅動打印機打印收貨清單;
6、 在查驗過程中出現問題,可以拒收貨物。
import java.util.Scanner;
public class AddCustomer{
public static void main(String[] args){
System.out.printIn("MyShopping管理系統(tǒng) 客戶信息管理 添加客戶信息\n");
int custNo; //會員號
int birthday; //會員生日
int points = 0; //會員積分
Scanner input=new Scanner(System.in);
for(int i=0;i3;i++){ //循環(huán)錄入會員信息
System.out.printIn("請輸入會員號(4位整數):");
custNo = input.nextInt();
System.out.printIn("請輸入會員生日(月\日用兩位整數表示):");
custNo = input.next();
System.out.printIn("請輸入會員積分:");
custNo = input.nextInt();
if(custNo1000||custNo9999){ //會員號無效則跳出
System.out.printIn("客戶號"+custNo+"是無效會員號!");
System.out.printIn("錄入信息失敗\n");
contiune;
}
System.out.printIn("您錄入的會員信息是:");
System.out.printIn(custNo+" "+birthday+" "+points+ "\n");
}
System.out.printIn("程序結束!");
}
}
看你是用b/s開發(fā),還是c/s開發(fā),這關系到前端頁面的設計,然后就是數據庫的選擇,用MySQL或Oracle,或其他的,然后設計表結構,最后選擇開發(fā)框架,ssh或ssm或springmvc,框架開發(fā)會讓你開發(fā)更快,代碼的編寫那是最基礎的,前端傳入參數,后臺持久化處理,或后臺查詢數據,前端展示,基本就是這樣
既然是商品庫存系統(tǒng),那么最少有各種商品的單件信息,1:需要有商品的進貨價格,賣出價格,剩余數量,每月的銷售數量,進貨時間等,在對應的數據庫表創(chuàng)建相應的字段。2:商品管理就是對多種商品的管理,所以還要有各種商品的分類,比如煙酒類,飲料類,小吃類,將其分類好管理,同樣數據庫里面建立相對的數據表。具體需要根據自己需求來編寫。3:界面的設計,這里可分為登陸界面,其中一個是用戶登陸后查看的界面,和管理員登陸后查看的界面,用戶登錄只能查看對應的商店的物品管理,并且能進行修改自家商品。管理員登陸可查看所有的用戶的商店物品,及修改物品信息。而物品分類欄就可以用jQuery來實現局部的刷新界面。左邊為物品分類欄,右邊為選中物品類的信息。點擊右邊分類物品的某件物品,可跳轉到該類物品的單個信息,如第1點提到的。
package com.company.dao;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class BaseDao {
// 數據庫驅動
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//url
String url = "jdbc:sqlserver://數據庫ip:端口號;databaseName=數據庫名;";
//用戶名
String uname = "數據庫用戶名";
//密碼
String pwd = "數據庫密碼";
/**
* 獲得連接對象
* @return
*/
protected Connection getCon(){
//返回的連接
Connection con = null;
try {
//載入驅動
Class.forName(driver);
//得到連接
con = DriverManager.getConnection(url, uname, pwd);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
/**
* 關閉數據庫
* @param con
* @param stmt
* @param rs
*/
protected void closeDB(Connection con, Statement stmt, ResultSet rs){
if(rs != null){
try {
//關閉結果集
rs.close();
rs = null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(stmt != null){
try {
//關閉語句對象
stmt.close();
stmt = null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(con != null){
try {
//關閉連接對象
con.close();
con = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
protected void closeDB(Connection con, PreparedStatement pstmt, ResultSet rs){
if(rs != null){
//關閉結果集
try {
rs.close();
rs = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
if(pstmt != null){
try {
pstmt.close();
pstmt = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
if(con != null){
try {
con.close();
con = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
這個是我寫的一個基本的連接sql2005數據庫的代碼,.! 不知道你能不能用,! 你看一下吧, 連接的時候需要sqljdbc.jar數據庫驅動,!