栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java二手车交易系统

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java二手车交易系统

一、要求总览

该项目的目的用于二手车交易

运行开始系统看到主菜单:

1.登陆

2.注册:用户名不能重复

3.最新二手车信息

4.搜索车辆

*5.对比车辆

*6.我的收藏

7.后台管理

8.退出系统

项目要求:

1)选择登陆要求输入用户名密码和验证码,输入错误要求给出相应的提示信息

2)选择注册要求输入用户名,密码,确认密码,邮箱,手机号,注册日期,如果用户名或邮箱或手机号已被使用,则该用户注册失败,也应给与相应的提示信息,邮箱、手机号皆需要验证规则

3)选择最新二手车信息,要求显示最新发布的10辆二手车的信息内容,显示的内容包含车辆的品牌,车型,里程数,价格

呈现的内容如下:

  品牌   车型   里程数  价格   发布时间

1.大众   朗逸   54000   75000  2014-7-5

2.

3.

.....

10.

4)以上看到的十辆车的信息可以进行选择后显示车辆的详细信息,详细包含之前呈现的信息以及排量,上牌的时间,离合器类型,同时在信息的下方呈现如下菜单:

1.收藏(必须登陆后才能进行收藏)

2.加入对比

3.购买(只能在登陆后才能看到该菜单项)

4.返回主菜单

5)选择收藏,可以将该车辆收藏至登陆人的"我的收藏",当用户选择主菜单中的"我的收藏"选项时,可以查看登陆人收藏的所有车辆信息,每个人最多只能收藏10辆车,如果收藏第11辆车的时候第一辆移除收藏列表

6)选择加入对比,可以将车辆加入对比列表,对比列表最多只能存储4辆车的信息,如果对比车辆已满,则给出提示信息,同时可以选择是否要将页面跳转至"对比车辆"菜单项

7)选择购买,可以支付登陆人的金额,如果金额不够,则购买失败,否则交易成功,打印凭条

8)选择搜索车辆进入如下菜单:

1.根据品牌搜索

2.根据价格搜索

3.根据上牌日期搜索

9)选择根据品牌搜索,要求呈现当前二手车系统的所有品牌信息,显示如下:

1.大众

2.福特

3.斯柯达

.......

10)选择品牌后,要求呈现该品牌所对应的所有车型,如选择了1后,显示如下:

1.桑塔纳

2.朗逸

3.速腾

4.帕萨特

.......

11)选择车型后查看该车辆的详细信息,显示对应品牌车型所发布的所有二手车的信息,信息呈现的内容同3),可以对车辆进行选择,该功能同4)

12)选择价格搜索,呈现如下菜单:

1. 5万以下

2. 5-10万

3. 10-15万

4. 15万以上

13)选择任意项搜索出对应价格范围的车辆信息,信息呈现内容同3),可以对车辆进行选择,该功能同4)

14)选择上牌日期搜索,输入起始年份和月份以及结束的年份和月份,可以显示对应时间范围中的所有二手车信息,内容呈现同3),可以对车辆进行选择,功能同4)

15)选择对比车辆,呈现如下菜单:

1.查看对比信息

2.删除对比车辆

3.返回上一级菜单

16).选择查看对比信息,可以将之前加入对比的车辆信息进行对比(如果只有一辆车则无法参与对比),对比信息如下:

品牌    雪佛兰    大众       

车型    科鲁兹    朗逸

价格    65000     75000

排量    1.6       1.6

里程数  32000     23000

离合器  自动挡    手自一体

上牌时间

返回上一个菜单

17)选择删除对比车辆,需要先显示对比列表中的车辆品牌和车型,选择要删除的车辆,进行删除(删除操作时要给出提示信息)

18)选择我的收藏,可以查看收藏的车辆信息,内容呈现同3),可以选择查看收藏车辆的详细信息,功能同4)

19)选择后台管理,可以呈现如下菜单:

1.品牌管理

2.车型管理

3.发布车辆信息

20)选择品牌管理,可以添加品牌信息

21)选择车型管理,首先呈现所有的品牌信息,选择品牌后呈现如下菜单:

1.添加车型

2.删除车型

22)选择添加车型,可以输入车型名称并将该车型添加至对应的品牌中

23)选择删除车型,显示当前品牌下所有的对应的车型,选择车型后可以删除该车型(该车型对应的二手车都应删除):收藏夹,对比列表中的该车型的车都应该被删除

24)选择发布车辆信息,要求输入车辆的详细信息(要求品牌和车型是通过选择获取的,其余直接键盘输入获取)同时自动根据当前系统时间记录发布车辆的时间

要求:1.分层设计

      2.使用单例模式封装数据类

      3.Dao层不可出现于用户交互的代码,如输入或者输入等

      4.在合适的地方使用try..catch进行异常处理

      ****5.在合适的地方使用log4j记录日志:记录在文件中

      6.用户输入信息必须进行合理性验证

      7.进行增删改操作的最后,必须有确认步骤

      8.输出中不能有null,false,true等专业词汇

      9.程序不能出异常,不能非法退出

二、代码实现 1.Dao

1.

package dao;


import function.vehicle;
import entity.User;
import entity.basepinpai;
import entity.car;

import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;

public class carDao {

    List listcollcet= collection.getInstance();
    List listcar = carDB.getInstance();
    List listuser = UserDB.getInstance();
    Listlistjiage=jiageDB.getInstance();
    List listpinpai = pinpaiDB.getInstance1();
    List listchexing = pinpaiDB.getInstance2();
    List listfuhe=pinpaiDB.getInstance3();
    List listcompare= comparation.getInstance();

    public int findindex(String name) {
        for (int i = 0; i < listuser.size(); i++) {
            if (listuser.get(i).getName().equals(name))
                return i;
        }
        return 0;
    }
    public int findcarindex(String chexing){
        for(int i=0;i10){
            listuser.get(new vehicle().denglu()).collcet.remove(0);
        }
        for(int i=0;i4){
            listcompare.remove(0);
        }for(int i=0;i= min && listcar.get(i).jiage <= max) {
                listjiage.add(listcar.get(i));
            }
        }
    }
    public void pinpaichexing(String pinpai){
        listfuhe.clear();
        for(int i=0;i dellist(List list,String pinpai){
        List listTemp = new CopyOnWriteArrayList();
        for(int i=0;i list,String chexing){
        for (int i = list.size() - 1; i >=0 ; i--) {
            if(list.get(i).getChexing().equals(chexing))
                list.remove(i);
        }
    }
    public void delcar(String chexing,List list){
        for (int i = listcar.size() - 1; i >=0 ; i--) {
           if(listcar.get(i).getChexing().equals(chexing))
            list.remove(i);
        }
        }

        public void delcompare(String chexing) {
            for (int i = listcompare.size() - 1; i >= 0; i--) {
                if (listcompare.get(i).getChexing().equals(chexing))
                    listcompare.remove(i);
            }
        }
    public void delcollcet(String chexing,List list) {
        for (int i = listuser.get(new vehicle().denglu()).collcet.size() - 1; i >= 0; i--) {
            if (listuser.get(new vehicle().denglu()).collcet.get(i).getChexing().equals(chexing))
                listuser.get(new vehicle().denglu()).collcet.remove(i);
        }
    }
    public void addchexing(int i,String chexing){
        listchexing.add(new basepinpai(listpinpai.get(i).getPinpai(),chexing));

    }

    public  boolean belongCalendar(Date time, Date from, Date to) {
        Calendar date = Calendar.getInstance();
        date.setTime(time);
        Calendar after = Calendar.getInstance();
        after.setTime(from);
        Calendar before = Calendar.getInstance();
        before.setTime(to);
        if (date.after(after) && date.before(before)) {
            return true;
        } else {
            return false;
        }
    }


}

2.

package dao;

import entity.User;
import entity.car;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class carDB {
    private static final List carlist=new CopyOnWriteArrayList();

    private  carDB(){

    }
    //    初始化数据源
     static {

        carlist.add(new car("大众", "朗逸", 54000, 75000, "2014-07-05",
                1, "2015-01-01", "自动挡"));
        carlist.add(new car("大众", "速腾", 54000, 80000, "2014-03-01",
                1, "2015-06-05", "手动一体"));
        carlist.add(new car("大众", "帕萨特", 54000, 60000, "2014-09-05",
                1, "2016-01-22", "自动挡"));
        carlist.add(new car("福特", "金牛座", 54000, 140000, "2014-11-05",
                1, "2017-06-19", "手动一体"));
        carlist.add(new car("福特", "锐际", 54000, 170000, "2014-02-05",
                1, "2014-01-16", "自动挡"));
        carlist.add(new car("斯柯达", "明锐", 54000, 110000, "2014-08-05",
                1, "2011-03-15", "自动挡"));
        carlist.add(new car("斯柯达", "速派", 54000, 210000, "2014-02-05",
                1, "2013-07-31", "手动一体"));
        carlist.add(new car("大众", "桑塔纳", 54000, 49000, "2014-01-05",
                1, "2016-11-01", "手动一体"));
        carlist.add(new car("福特", "探险者", 54000, 115000, "2014-09-05",
                1, "2012-09-27", "自动挡"));
        carlist.add(new car("福特", "福克斯", 54000, 38000, "2014-11-05",
                1, "2018-03-12", "手动一体"));
        carlist.add(new car("福特", "锐界", 54000, 111000, "2014-04-05",
                1, "2017-12-25", "自动挡"));
        carlist.add(new car("斯柯达", "速尊", 54000, 21000, "2014-12-05",
                1, "2015-04-16", "手动一体"));
        carlist.add(new car("斯柯达", "柯迪亚克", 54000, 98000, "2014-09-05",
                1, "2014-10-05", "自动挡"));

    }

    //    返回数据主体
    public  static  List getInstance(){
        return carlist;
    }

}

3.

package dao;

import entity.car;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class collection {
    private static final List collectlist=new CopyOnWriteArrayList();
    private collection(){}
    static {

    }
    public static List getInstance(){return collectlist;}

}

4.

package dao;

import entity.car;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class comparation {

        private static final List comparelist=new CopyOnWriteArrayList();
        private comparation(){}
        static {

        }
        public static List getInstance(){return comparelist;}
    }

5

package dao;

import entity.car;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class dateDB {
    private static final List datelist=new CopyOnWriteArrayList();
    private dateDB(){}
    static {

    }
    public  static  List getInstance(){
        return datelist;
    }
}

6

package dao;


import entity.User;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class iflogin {
    private static final List loginlist=new CopyOnWriteArrayList();
    private iflogin(){};
    static {loginlist.add(0);
        loginlist.add(0);
loginlist.add(0);

    }
    public  static  List getInstance(){
        return loginlist;
    }
}

7

package dao;

import entity.car;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class jiageDB {

    private static final List jiagelist=new CopyOnWriteArrayList();
    private jiageDB(){}
    static {

    }
    public  static  List getInstance(){
        return jiagelist;
    }
}

8

package dao;

import entity.basepinpai;
import entity.car;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class pinpaiDB {
    private static final List basepinpailist=new CopyOnWriteArrayList();
    private static final List basechexinglist=new CopyOnWriteArrayList();
    private static final List pinpaichexinglist=new CopyOnWriteArrayList();
    private pinpaiDB(){}
    static {
        basechexinglist.add(new basepinpai("大众","朗逸"));
        basechexinglist.add(new basepinpai("大众","速腾"));
        basechexinglist.add(new basepinpai("大众","帕萨特"));
        basechexinglist.add(new basepinpai("大众","桑塔纳"));
        basechexinglist.add(new basepinpai("福特","金牛座"));
        basechexinglist.add(new basepinpai("福特","锐际"));
        basechexinglist.add(new basepinpai("福特","探险者"));
        basechexinglist.add(new basepinpai("福特","福克斯"));
        basechexinglist.add(new basepinpai("福特","锐界"));
        basechexinglist.add(new basepinpai("斯柯达","明锐"));
        basechexinglist.add(new basepinpai("斯柯达","速派"));
        basechexinglist.add(new basepinpai("斯柯达","速尊"));
        basechexinglist.add(new basepinpai("斯柯达","柯迪亚克"));
        basepinpailist.add(new basepinpai("大众",""));
        basepinpailist.add(new basepinpai("福特",""));
        basepinpailist.add(new basepinpai("斯柯达",""));
    }
    public  static  List getInstance1(){
        return basepinpailist;
    }
    public static ListgetInstance2(){
        return basechexinglist;
    }
    public static ListgetInstance3(){return pinpaichexinglist;}


}

9

package dao;

import entity.User;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Random;

public class UserDao {
    List list= UserDB.getInstance();
    List listlogin= iflogin.getInstance();
    public int addUser(User user){

       list.add(user);
        return 0;
    }
    public boolean checklogin(){
        for(int i=0;i=6&&code.length()<=10){
            return code;
        }else return "0";
    }
    public boolean againcode(String code,String againcode){
        if(code.equals(againcode)) return true;
        else return false;
    }
public boolean checkmail(String str) {
    int flag = 0;

    if (str.contains("@") && str.contains(".") && !str.startsWith("@") && !str.endsWith(".")) {
        if (str.indexOf(".") - str.indexOf("@") > 1 && str.indexOf("@") == str.lastIndexOf("@") && str.indexOf(".") == str.lastIndexOf(".")) {
            if (str.endsWith("cn") || str.endsWith("com")) {
                flag = 1;
            }

            }
        }
        if (flag == 1) return true;
        else return false;
}

public boolean checkphone(String str1){
    boolean boo1 = false;

    if(str1.startsWith("1")&&str1.length()==11) {
        boo1=true;
    }
   return boo1;
}
public String rdate(){
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    return df.format(new Date());
}
    public String vercode(){
        String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        StringBuffer sb = new StringBuffer() ;
        Random rd = new Random();
        for (int i = 0; i < 4; i++) {
            int start = rd.nextInt(base.length());
            String a = base.substring(start,start+1);
            sb.append(a);
        }
        return sb.toString();
    }

    public User findByName(String name){
        for(User user:list){
            if (user.name.equals(name)){
                return user;
            }
        }
        return null;
    }

    public boolean checkUserName(String name){
        boolean flag = false;
        for(User user:list){
            if (user.name.equals(name)){
                flag=true;
            }
        }
        return flag;
    }

    public boolean checkUserPassword(String userName,String userPassword){
        boolean flag = false;
        for (int i = 0; i < list.size(); i++) {
            if(list.get(i).getName().equals(userName)&&list.get(i).getCode().equals(userPassword)){
                flag = true;
            }
        }
        return flag;
    }
}

10

package dao;

import entity.User;
import entity.car;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

//
public class UserDB {
    //    唯一数据源
   private static final List userlist=new CopyOnWriteArrayList();

    private  UserDB(){

    }
    //    初始化数据源
    static {
        List list1=new CopyOnWriteArrayList();
        List list2=new CopyOnWriteArrayList();
        userlist.add(new User(0,"xxxxxxx","123456","100006@qq.com","12345678901","2021.12.27",list2));
            userlist.add(new User(1,"manager","123456","100006@qq.com","12345678901","2021.12.27",list1 ));
        userlist.add(new User(0,"test","123456","100006@qq.com","12345678901","2021.12.27",list2));
    }
    //    返回数据主体
    public  static  List getInstance(){
        return userlist;
    }

}
2.entity

1

package entity;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class basepinpai {
    String chexing;
    String pinpai;

    public String getChexing() {
        return chexing;
    }

    public void setChexing(String chexing) {
        this.chexing = chexing;
    }

    public String getPinpai() {
        return pinpai;
    }

    public void setPinpai(String pinpai) {
        this.pinpai = pinpai;
    }

    public basepinpai(String pinpai,String chexing) {
        this.pinpai = pinpai;
        this.chexing=chexing;
    }
    public basepinpai(String pinpai){
        this.pinpai=pinpai;
    }



}

2

    public String pinpai;
    public String chexing;
    public int lichen;
    public int jiage;
    public String fabudate;
    public int pailiang;
    public String shangpaidate;
    public String liheqi;

    DecimalFormat df = new DecimalFormat("0.00");
    SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd");
    public String getPinpai() {
        return pinpai;
    }

    public void setPinpai(String pinpai) {
        this.pinpai = pinpai;
    }

    public String getChexing() {
        return chexing;
    }

    public void setChexing(String chexing) {
        this.chexing = chexing;
    }

    public int getLichen() {
        return lichen;
    }

    public void setLichen(int lichen) {
        this.lichen = lichen;
    }

    public String getJiage() {
        return df.format(jiage);
    }

    public void setJiage(int jiage) {
        this.jiage = jiage;
    }

    public String getFabudate() {
        return fabudate;
    }

    public void setFabudate(String fabudate) {
        this.fabudate = fabudate;
    }

    public int getPailiang() {
        return pailiang;
    }

    public void setPailiang(int pailiang) {
        this.pailiang = pailiang;
    }


    public Date getShangpaidate() {
        Date spdate=null;
        try {
            spdate = myFmt2.parse(shangpaidate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
return spdate;
    }

    public void setShangpaidate(String shangpaidate) {
        this.shangpaidate = myFmt2.format(shangpaidate);
    }

    public String getLiheqi() {
        return liheqi;
    }

    public void setLiheqi(String liheqi) {
        this.liheqi = liheqi;
    }

    public car(String pinpai, String chexing, int lichen, int jiage, String fabudate, int pailiang, String shangpaidate, String liheqi) {
        this.pinpai = pinpai;
        this.chexing = chexing;
        this.lichen = lichen;
        this.jiage = jiage;
        this.fabudate = fabudate;
        this.pailiang = pailiang;
        this.shangpaidate = shangpaidate;
        this.liheqi = liheqi;
    }

    public String toString2() {
        return pinpai+"  "+chexing+"  "+lichen+"  "+jiage+"  "+fabudate;
    }
    public String toString1() {
        return pinpai+"  "+chexing+"  "+lichen+"  "+jiage+"  "+shangpaidate;
    }
public String toString4(){return pinpai+"  "+chexing;}
    public String toString(){
        return "品牌:"+pinpai+" 车型: "+chexing+" 里程数: "+lichen+" 价格: "+jiage+" 发布日期: "+fabudate
                +" 排量:"+pailiang+" 上牌日期:"+shangpaidate+" 离合器类型:"+liheqi;
    }
    public String toString3(){return "商品:"+pinpai+" "+chexing+" 价格为"+getJiage()+" ";

    }

3

package entity;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class futechexing {private static final List futechexinglist=new CopyOnWriteArrayList();
    private futechexing(){}
    static {
        futechexinglist.add("金牛座");
        futechexinglist.add("锐际");
        futechexinglist.add("探险者");
        futechexinglist.add("福克斯");
        futechexinglist.add("锐界");
    }
    public  static  List getInstance(){
        return futechexinglist;
    }
}

4

package entity;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class sikedachexing {
    private static final List sikedachexinglist=new CopyOnWriteArrayList();
    private sikedachexing(){}
    static {
        sikedachexinglist.add("明锐");
        sikedachexinglist.add("速派");
        sikedachexinglist.add("速尊");
        sikedachexinglist.add("柯迪亚克");

    }
    public  static List getInstance(){
        return sikedachexinglist;
    }
}

5

package entity;

import java.util.List;

public class User {
    public String name;
    public String code;
    public String mail;
    public String mobile;
    public String zhucedate;
    public List collcet;
    public int type;

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMail() {
        return mail;
    }

    public void setMail(String mail) {
        this.mail = mail;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getZhucedate() {
        return zhucedate;
    }

    public void setZhucedate(String zhucedate) {
        this.zhucedate = zhucedate;
    }

    public List getCollcet() {
        return collcet;
    }

    public void setCollcet(List collcet) {
        this.collcet =collcet;
    }

    public User(){};
    public User(int type,String name, String code, String mail, String mobile, String zhucedate,List collcet){
        this.name=name;
        this.code=code;
        this.mail=mail;
        this.mobile=mobile;
        this.zhucedate=zhucedate;
        this.collcet=collcet;
        this.type=type;
    }
    public String toString(){
        return "账户类型:"+getType()+"  用户名:"+getName()+"  密码:"+getCode()+ "  邮箱:"+getMail()+"  手机号:"+getMobile()+"  注册时间为:"+getZhucedate();
    }
}
3.function

1

package function;

import dao.comparation;
import entity.car;
import test.maintest;

import java.util.List;
import java.util.Scanner;

public class compare {
    List listcompare= comparation.getInstance();
    Scanner sc=new Scanner(System.in);
    public void choose(){
        System.out.println("请选择您的操作:n" +
                "1.查看对比信息n" +
                "2.删除对比车辆n" +
                "3.返回上一级菜单");

        int p=sc.nextInt();
        if(p==1) see();
        else if (p==2) del();
        else if(p==3) maintest.getInstance().index();
        }

    private void del() {
        if(listcompare.size()<1){
            System.out.println("对比列表中无车辆,无法进行删除,请重新选择操作");
            choose();
        }
        else {
            for(int i=0;i0&&p<=listcompare.size()){
            listcompare.remove(p-1);
                System.out.println("删除成功!自动返回上一级菜单");
                choose();
        }
        }
    }

    private void see() {
        if (listcompare.size()<2){
            System.out.println("未满两辆车,无法对比,请重新选择操作");choose();}
        else {
            System.out.print("品牌  ");
            for(int i=0;i 

2

package function;

import dao.*;
import entity.User;
import test.maintest;

import java.util.List;
import java.util.Scanner;

public class login {
    List list = UserDB.getInstance();
    List listlogin= iflogin.getInstance();
    Scanner scan = new Scanner(System.in);

    public void checkUserName() {
       if(new UserDao().checklogin()) {
           System.out.println("请输入用户名:");
           String userName = scan.next();
           if (userName.equals("0")) {
               System.out.println("谢谢使用!再见!");
           } else if (new UserDao().checkUserName(userName)) {
               System.out.println("请输入密码!---0键退出");
               checkUserPassword(userName);
           } else {
               System.out.println("用户名输入有误!请重新输入!------0键退出");
               checkUserName();
           }
       }
       else {
           System.out.println("已有用户正在登陆,请勿重复登录!已返回主菜单!");
           maintest.getInstance().index();
       }
    }

    public void checkUserPassword(String name) {
        String userPassword = scan.next();
        if (userPassword.equals("0")) {
            System.out.println("谢谢使用!再见!");
        } else if (new UserDao().checkUserPassword(name, userPassword)) {
            System.out.println("请输入以下验证码(不区分大小写)!");
            checkVercode(name);

        } else {
            System.out.println("密码错误!请重新输入————");
            checkUserPassword(name);
        }
    }

    public void checkVercode(String name) {
        String a = new UserDao().vercode();
        System.out.println("您的验证码是: " + a + " ");
        String v = scan.next();
        if (v.equals(a)) {
            System.out.println("登陆成功!已返回主界面!");
            int indext=new carDao().findindex(name);
            listlogin.set(indext,1);
            maintest.getInstance().index();
        } else {
            System.out.println("验证码输入错误,请再试一次!");
            checkVercode(name);
        }

    }
    public int index(String name){
        return new carDao().findindex(name);
    }
}

3

package function;

import dao.*;
import entity.User;
import entity.basepinpai;
import entity.car;
import test.maintest;

import java.util.List;
import java.util.Scanner;

public class manage {
    List listcar = carDB.getInstance();
    List listpinpai = pinpaiDB.getInstance1();
    List listchexing = pinpaiDB.getInstance2();
    List listuser = UserDB.getInstance();
    List listlogin= iflogin.getInstance();
    Scanner sc=new Scanner(System.in);
    public void carmanage() {
        if (listuser.get(new vehicle().denglu()).getType()==1) {
            System.out.println("$$$$$$$$$$$二手车管理系统$$$$$$$$$$$$n1.品牌管理n2.车型管理n3.发布车辆信息n其余任意数值返回主菜单");
            int t1=sc.nextInt();
            if(t1==1)pinpaimanage();
            else if (t1==2)allchexing();
            else if (t1==3){
            fabu();
            }
            else maintest.getInstance().index();
        }
        else {
            System.out.println("您不是管理员身份,无法管理。已返回主菜单!");
            maintest.getInstance().index();
        }
    }

    public void fabu() {
        System.out.println("请选择您需要发布的品牌:");
        for(int i=0;i0&&t2<=listpinpai.size()) chexingfabu(t2);
        else {
            System.out.println("输入错误,请确认后重新输入!");
            fabu();
        }

    }

    public void chexingfabu(int t2) {
        System.out.println("该品牌的车型如下,请选择您想发布的车型,输入编号以外的数字将返回上一层菜单——");
        List list2=new carDao().dellist(listchexing,listpinpai.get(t2-1).getPinpai());
        for(int i=0;i0&&p<=list2.size())
        tianjia(list2.get(p-1).getPinpai(),list2.get(p-1).getChexing());
   else fabu();
    }
    public String error(){
        return "您的输入有误,请再试一次!";
    }
public void tianjia(String pinpai,String chexing){
    System.out.println("分别输入该车型的里程数、价格、发布时间、排量、上牌时间、离合器类型——");
    int lichen=0;
    int jiage=0;
    int pailiang=0;
    String shangpaidate="";
    String liheqi="";
    String fabudate=new UserDao().rdate();
    if(sc.hasNextInt()) lichen=sc.nextInt();
    else {
        error();
        tianjia(pinpai,chexing);
    }
    if(sc.hasNextInt())  jiage=sc.nextInt();
    else {
        error(); tianjia(pinpai,chexing);
    }
    if(sc.hasNextLong()) pailiang=sc.nextInt();
    else {
        error(); tianjia(pinpai,chexing);
    }
    if(sc.hasNextLong())
    shangpaidate=sc.next();
    else {
        error();tianjia(pinpai,chexing);
    }
    if(sc.hasNextLong())
    liheqi=sc.next();
    else {
        error();tianjia(pinpai,chexing);
    }
    System.out.println("您确认要发布吗?确认请输入1,否则返回上一级菜单");
    int p=sc.nextInt();
    if(p==1){
    listcar.add(new car(pinpai,chexing,lichen,jiage,fabudate,pailiang,shangpaidate,liheqi));
        System.out.println("添加成功!");
}
    else carmanage();}

    public void pinpaimanage(){
        System.out.println("请输入想添加的品牌名称:");
        String pinpai=sc.next();
        System.out.println("确认添加吗?确认请输入1,否则将重新添加!");
        int p1=sc.nextInt();
        if(p1==1){
        listpinpai.add(new basepinpai(pinpai));
            System.out.println("添加成功!");}
        else pinpaimanage();
        System.out.println("输入任意值返回主管理菜单!");
        Object t1 = sc.nextLong();
        if (t1 != null) carmanage();
        else {
            maintest.getInstance().index();
        }
    }
    public void allchexing(){
        for(int i=0;i0&&t2<=listpinpai.size()) chexingmanage(t2);
        else {
            System.out.println("输入错误,请确认列表后重新输入!");
            allchexing();
        }
    }
    public void chexingmanage(int a){
        System.out.print(listpinpai.get(a-1).getPinpai());
        System.out.println("  的车型,请您选择操作!n1.添加车型n2.删除车型n3.返回上级");
        int t3=sc.nextInt();
        if(t3==1)add(a);
        else if(t3==2) del(a);
        else if (t3 == 3) {
            allchexing();
        }

        else {
        System.out.println("输入错误,请重新输入!");
        chexingmanage(a);
    }
    }
       public void add(int a) {
               System.out.println("请键入您想添加的车型");
               String chexing = sc.next();
               System.out.println("确认添加吗?确认请输入1,否则将重新操作");
               int p1 = sc.nextInt();
               if (p1 == 1) {
                   new carDao().addchexing(a - 1, chexing);
                   System.out.println("添加成功!自动返回上级");
                   chexingmanage(a);
               } else chexingmanage(a);

           }
       public void del(int a){
            System.out.println("该品牌的车型如下,请选择您想删除的车型");
            List list0=new carDao().dellist(listchexing,listpinpai.get(a-1).getPinpai());
            for(int i=0;i0&&p5<=list0.size()){
                new carDao().delchexing(listchexing,list0.get(p5-1).getChexing());
                new carDao().delcar(list0.get(p5-1).getChexing(),listcar);
                new carDao().delcompare(list0.get(p5-1).getChexing());
                for(int i=0;i 

3

package function;

import dao.UserDB;
import dao.collection;
import dao.iflogin;
import entity.User;
import entity.car;
import test.maintest;

import java.util.List;
import java.util.Scanner;

public class mycollect {
    List listcollcet = collection.getInstance();
    List listuser = UserDB.getInstance();
    List listlogin = iflogin.getInstance();
    Scanner sc = new Scanner(System.in);
    public void see() {
        int x = new vehicle().denglu();
        System.out.println();
        if (listlogin.get(new vehicle().denglu()).equals(1)) {
            System.out.println("您的收藏夹:n   品牌  车型   里程数   价格   发布时间");
            for (int i = 0; i < listuser.get(x).collcet.size(); i++) {
                System.out.print((i + 1) + ". ");
                System.out.println(listuser.get(x).collcet.get(i).toString2());
            }
            System.out.println("请选择您要操作的车型(输入0返回主菜单)——");
            int i = sc.nextInt();
            if (i == 0) maintest.getInstance().index();
            else if (i > 0 && i <=listuser.get(x).collcet.size()) {
                System.out.println("请选择——n1.取消收藏n2.更多操作");
                int p = sc.nextInt();
                if (p == 1) {
                    listuser.get(x).collcet.remove(i - 1);
                    System.out.println("取消收藏成功!");
                    see();
                } else if (p == 2 && i > 0 && i <= listuser.get(x).collcet.size()) {
                    new vehicle().caozuo(listuser.get(x).collcet.get(i - 1).chexing, x);
                }
            } else {
                new search().error();
                see();
            }
        }
        else {
            System.out.println("您尚未登录,无法查看收藏夹!输入1现在就去登录,输入其他任意数字返回主菜单——");
            int p=sc.nextInt();
            if(p==1)new login().checkUserName();
            else  maintest.getInstance().index();
        }
    }
}

4

package function;

import dao.UserDB;
import dao.iflogin;
import entity.User;
import test.maintest;

import java.util.List;
import java.util.Scanner;

public class outlogin {
    List list = UserDB.getInstance();
    List listlogin= iflogin.getInstance();
    Scanner sc=new Scanner(System.in);
    public void zhuxiao(){
        System.out.println("确认使当前账户的退出登录吗?确认输入1,取消输入任意其他数字并返回主菜单");
        int p=sc.nextInt();
if(p==1)delloggin();
else  maintest.getInstance().index();
    }
    public void delloggin(){
        int x=new vehicle().denglu();
        listlogin.set(x,0);
        System.out.println("注销成功,已返回主菜单");
        maintest.getInstance().index();
    }
}

5

package function;

import java.util.List;
import java.util.Scanner;
import java.util.concurrent.CopyOnWriteArrayList;

import dao.UserDB;
import dao.UserDao;
import dao.carDao;
import dao.iflogin;
import entity.User;
import entity.car;
import test.maintest;


public class register {
    String name="";
    String code1="";
    String code2="";
    String mail="";
    String phone="";
    String zhucedate="";
    Scanner sc = new Scanner(System.in);
    List list = UserDB.getInstance();
    List listlogin= iflogin.getInstance();
    public void name1() {
        System.out.println("请输入注册用户名:");
        name = sc.next();
        if (new UserDao().checkname(name)) {
            System.out.println(name + "成功注册");
            code1();

        }else{
            System.out.println("该用户名已被注册!请重新输入————");
            name1();
        }
    }
    public void code1(){
        System.out.println("请设置您的密码,长度为6-10位英文数字字符:");
         code1=sc.next();
        if (new UserDao().checkcode(code1)=="0"){
            System.out.println("该密码不符合规范,请重新输入————");
            code1();
        }
        else System.out.println("密码设置成功!");
        againcode1();

    }
    public void againcode1(){
        System.out.println("请再次输入密码以确认:");
        code2=sc.next();
        if (new UserDao().againcode(code1,code2)){
            System.out.println("确认密码成功!");
        mail1();}
        else{ System.out.println("确认密码失败,请重新输入————");
               code1();}
    }
    public void mail1(){
        System.out.println("请设置您的邮箱:");
        mail=sc.next();
        if (!new UserDao().checkmail(mail)){
            System.out.println("您输入的邮箱格式错误!");
        mail1();}
        else if (new UserDao().checkmail(mail)){
            for (User user : list) {
                if (user.mail.equals(mail)){
                    System.out.println("您输入的邮箱已被使用!请再次输入————");
                    mail1();
                }
                   else System.out.println("邮箱设置成功!");
                   phone();
            }
        }
    }
    public void phone(){
        System.out.println("请输入您的手机号码");
        phone=sc.next();
        if(!new UserDao().checkphone(phone)){
            System.out.println("手机号格式错误,应为1开头且11位数字!请重新输入————");
            phone();
        }
        else if(new UserDao().checkphone(phone)) {
            List list = UserDB.getInstance();
            for (User user : list) {
                if (user.mobile.equals(phone)) {
                    System.out.println("该手机号已被注册,请重新输入————");
                    phone();
                }
                else {
                    System.out.println("手机号注册成功!");
                    yanzhengma();
                }
            }
        }

    }
    public void yanzhengma(){
       String b= new UserDao().vercode();
        System.out.println("您的验证码是: "+b+"n请输入验证码,区分大小写!");
        String a=sc.next();
        if(a.equals(b)){
            System.out.println("验证成功!注册成功!");
            date();
        }
            else {
            System.out.println("验证码输入错误!请再试一次!");
            yanzhengma();
        }
    }

    public void date(){
        System.out.println("您注册时间是: "+new UserDao().rdate());
        storage();
    }
public void storage() {List collect = new CopyOnWriteArrayList();
    User us = new User(0,name, code1, mail, phone, new UserDao().rdate(),collect);
    list.add(us);
    listlogin.add(new carDao().findindex(name),0);
    System.out.println("输入任意值返回主管理菜单!");
    Object t1 = sc.nextLong();
    if (t1 != null)  maintest.getInstance().index();
    else {
        maintest.getInstance().index();
    }

}

}

6

package function;

import dao.*;
import entity.car;
import entity.basepinpai;
import test.maintest;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Scanner;

public class search {
    Scanner sc = new Scanner(System.in);
    SimpleDateFormat df =new SimpleDateFormat("yyyy-MM-dd");
    List list = carDB.getInstance();
    List listpinpai = pinpaiDB.getInstance1();
    List listchexing = pinpaiDB.getInstance2();
    Listlistjiage=jiageDB.getInstance();
    Listlistdate= dateDB.getInstance();
    List listfuhe=pinpaiDB.getInstance3();
    public void error() {
        System.out.println("输入错误,请重新输入!");
    }

    public void search() {
        System.out.println("搜索选项:n1.根据品牌搜索n2.根据价格搜索n3.根据上牌日期搜索n4.任意数字返回主菜单");
        int t1 = sc.nextInt();
        if (t1 == 1) { pinpaisearch(); }
        else if (t1 == 2) { jiagesearch();}
        else if(t1==3) {datesearch(); }
       else  maintest.getInstance().index();
    }

    public void pinpaisearch() {
        System.out.println("所有品牌信息如下,请选择品牌以查看相应车型!【输入0返回上级菜单】");
        for (int i = 0; i < listpinpai.size(); i++) {
            System.out.print(i + 1 + ". ");
            System.out.println(listpinpai.get(i).getPinpai());
        }
        int t2 = sc.nextInt();
        if (t2 > 0 && t2 <=listpinpai.size())
            pinpai_chexing(listpinpai.get(t2 - 1).getPinpai());
        else if (t2 == 0) search();
        else {
            error();
            pinpaisearch();
        }
    }

    public void pinpai_chexing(String pinpai) {
        System.out.println("该品牌有以下车型:");
        new carDao().pinpaichexing(pinpai);
        for (int i=0;i 0 && t3 <= listfuhe.size()) chexing_xiangxi(listfuhe.get(t3 - 1).getChexing(), pinpai);
        else {
            error();
            pinpai_chexing(pinpai);
        }
    }

    public void chexing_xiangxi(String chexing, String pinpai) {
        System.out.println("该车型的详细信息是:n  品牌  车型   里程数   价格   发布时间");
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).getChexing().equals(chexing))
                System.out.println(list.get(i).toString2());
        }
       new vehicle().caozuo(chexing,new vehicle().denglu());

    }

    public void jiagesearch() {
        System.out.println("请选择价格区间——n1.5w以下n2.5-10wn3.10-15wn4.15w以上");
    int t=sc.nextInt();
    if(t==1){
        System.out.println("   品牌  车型   里程数   价格   发布时间");
        new carDao().jiagequjian(0,49999);
    }
    else if(t==2){System.out.println("   品牌  车型   里程数   价格   发布时间");
        new carDao().jiagequjian(50000,99999);
    }
    else if(t==3){System.out.println("   品牌  车型   里程数   价格   发布时间");
        new carDao().jiagequjian(100000,149999);
    }
    else if(t==4){System.out.println("   品牌  车型   里程数   价格   发布时间");
        new carDao().jiagequjian(150000,10000000);
    }
    else {error();
        jiagesearch();}
    jiagechoose();
    }
    public void jiagechoose(){
        for(int i=0;i0&&c 

8

package function;

import dao.*;
import entity.User;
import entity.car;
import test.maintest;

import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Scanner;

public class vehicle {
    DecimalFormat df = new DecimalFormat("0.00");
    SimpleDateFormat df1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    List listcar= carDB.getInstance();
    List listuser= UserDB.getInstance();
    List listlogin= iflogin.getInstance();
    List listcollcet= collection.getInstance();
    List listcompare= comparation.getInstance();
    Scanner sc=new Scanner(System.in);

    public void getlatest() {
        System.out.println("  品牌  车型   里程数   价格   发布时间");
        for (int i = 0; i < 10; i++) {
            System.out.println((i + 1) + "" + listcar.get(i).toString2());
        }

        getxiangxi(denglu());
    }
    public int denglu(){
        for(int i=0;i 0 && a < 11) {
            String o=listcar.get(a-1).getChexing();
            System.out.println(jutixinxi(a - 1));
            caozuo(o,index);
        }
        else {
            System.out.println("您输入的编号错误,重新输入!");
            getxiangxi(index);
        }
        return a;
    }
    public String jutixinxi(int i) {
        if (i >=0 && i < listcar.size()) {
            return listcar.get(i).toString();
        } else return "选择错误!请重新输入!";
    }
        public void caozuo(String chexing,int index){
            if (listlogin.get(denglu()).equals(1)) {
                System.out.println("1.收藏n2.加入对比n3.购买n4.返回主菜单");
                int r = sc.nextInt();
                if (r == 1) collect(chexing,index);
                else if(r==2)compare(chexing,index);
                else if(r==3){
                    System.out.println("请输入您的金额");
                   double money=sc.nextDouble();
                    purchase((int) money,chexing);
                }
                else if(r==4) maintest.getInstance().index();
                else {System.out.println("输入错误,请重新选择");
                caozuo(chexing,index);}
            } else System.out.println("1.收藏(您尚未登录不可使用此功能!选择此项前往登录)n2.加入对比n3.购买(您尚未登录不可使用此功能!选择此项前往登录)n4.返回主菜单");
                 int s=sc.nextInt();
                 if(s==1||s==3)new login().checkUserName();
                 else if(s==2){
                     compare(chexing,index);
                 }
                 else if(s==4) maintest.getInstance().index();
else {
                     System.out.println("选择错误,请重新选择!");
                     caozuo(chexing,index);
                 }
    }
    public void compare(String chexing,int i) {
        if (new carDao().checkcomparation(chexing)) {
            listcompare.add(listcar.get(new carDao().findcarindex(chexing)));
            System.out.println("加入对比列表成功!已返回上一级菜单");
            caozuo(chexing, i);
        } else {
            System.out.println("该车型已在列表中,不可再次添加!已返回上级菜单");
            caozuo(chexing, i);
        }
    }
    public void purchase(int m,String chexing) {

        int t=listcar.get(new carDao().findcarindex(chexing)).jiage;
if (m>=t) {
    System.out.println("购买成功!购买凭条如下:n" + listcar.get(new carDao().findcarindex(chexing)).toString2() + "购买时间: " + df1.format(new Date()));
    System.out.println("输入任意值返回上一级菜单!");
    Object t1 = sc.nextLong();
    if (t1 != null) caozuo(chexing,denglu());
    else {
        System.out.println("");
    }
}
else {
    System.out.println("金额不足,无法购买!已返回上一级选择菜单!");
    caozuo(chexing,denglu());
}
    }

    public void collect(String chexing,int userindex) {
        if (new carDao().checkcollcetion(chexing)) {
            listcollcet.clear();
            listcollcet.add(listcar.get(new carDao().findcarindex(chexing)));
            listuser.get(userindex).collcet.add(listcar.get(new carDao().findcarindex(chexing)));
            System.out.println("收藏成功!输入0返回最热二手车信息菜单,输入其他任意数字返回主菜单");
            int p = sc.nextInt();
            if (p == 0) getlatest();
            else maintest.getInstance().index();
        }
        else {
            System.out.println("该车型已在您的收藏列表中");
            caozuo(chexing,userindex);
        }
    }
    }

小白历时五天写出来的,虽然还有很多bug,但还是求求点赞...

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/922317.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号