大一下学期java课程设计代码

 

创建宿舍类:

import java.io.Serializable;

public class dorm implements Serializable,Comparable<dorm> {
    private String bulidingnumber;//楼号
    private String roomnumber;//房间号
    private double area;//面积
    private int realitynumber;//入住人数
    private int themaxnumber;//所容纳人数


    public dorm(String bulidingnumber,String roomnumber,double area,int realitynumber,int themaxnumber ){
        this.area=area;
        this.bulidingnumber=bulidingnumber;
        this.realitynumber=realitynumber;
        this.roomnumber=roomnumber;
        this.themaxnumber=themaxnumber;
    }

    public  dorm(){

    }

    public void setBulidingnumber(String bulidingnumber) {
        this.bulidingnumber = bulidingnumber;
    }

    public String getBulidingnumber() {
        return bulidingnumber;
    }

    public void setRoomnumber(String roomnumber) {
        this.roomnumber = roomnumber;
    }

    public String getRoomnumber() {
        return roomnumber;
    }

    public void setArea(double area) {
        this.area = area;
    }

    public double getArea() {
        return area;
    }

    public void setRealitynumber(int realitynumber) {
        this.realitynumber = realitynumber;
    }

    public int getRealitynumber() {
        return realitynumber;
    }

    public void setThemaxnumber(int themaxnumber) {
        this.themaxnumber = themaxnumber;
    }

    public int getThemaxnumber() {
        return themaxnumber;
    }

    @Override
    public String toString() {
        return "dorm{" +
                "bulidingnumber='" + bulidingnumber + '\'' +
                ", roomnumber='" + roomnumber + '\'' +
                ", area=" + area +
                ", realitynumber=" + realitynumber +
                ", themaxnumber=" + themaxnumber +
                '}';
    }


    @Override
    public int compareTo(dorm o) {
        return this.getRealitynumber()-o.getRealitynumber();
    }
}

 main主函数

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

import static java.lang.System.exit;

public class Main {
    public static void main(String[] args) {
        List<dorm> array = new ArrayList<>();
        mainfenzhi(array);
    }

    public static void mainfenzhi(List<dorm> array) {
        while (true) {
            menu();
            Scanner sc = new Scanner(System.in);
            String f = sc.next();
            xuanze(array, f);
        }

    }

    public static void xuanze(List<dorm> array, String f) {
        switch (f) {
            case "1"://录入宿舍信息
                luru(array);
                break;
            case "2"://删除指定房间号信息
                delete();
                break;
            case "3"://修改指定房间号信息
                xiugai();
                break;
            case "4"://宿舍信息浏览
                liulan();
                break;
            case "5"://按房间号查询
                chaxun();
                break;
            case "6"://按已入住人数排序
                paixu();
                break;
            case "7"://追加录入信息
                zhuijia();
            case "8"://退出系统
                exit(0);
            default:
                System.out.println("请输入正确的选项!");
                Scanner sc = new Scanner(System.in);
                String q = sc.next();
                xuanze(array, q);
                break;
        }
    }

    public static void menu() {
        System.out.println("**********欢迎使用学生宿舍管理系统**********");
        System.out.println("1 录入宿舍信息");
        System.out.println("2 删除指定房间号信息");
        System.out.println("3 修改指定房间号信息");
        System.out.println("4 宿舍信息浏览");
        System.out.println("5 按房间号查询");
        System.out.println("6 按已入住人数排序");
        System.out.println("7 追加宿舍信息");
        System.out.println("8 退出系统");

        System.out.print("请选择需要使用的功能:");
    }

    public static void luru(List<dorm> array) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入楼号");
        String bulidingnumber = sc.nextLine();
        System.out.println("请输入房间号");
        String roomnumber = sc.nextLine();
        System.out.println("请输入面积");
        double area = sc.nextInt();
        System.out.println("请输入所容纳人数");
        int themaxnumber = sc.nextInt();
        System.out.println("请输入入住人数");
        int realitynumber = sc.nextInt();

        dorm s = new dorm();
        s.setBulidingnumber(bulidingnumber);
        s.setRoomnumber(roomnumber);
        s.setArea(area);
        s.setThemaxnumber(themaxnumber);
        s.setRealitynumber(realitynumber);
        array.add(s);
        System.out.println("录入宿舍信息成功!");
        lurufenzhi(array);
    }

    public static void lurufenzhi(List<dorm> array) {
        System.out.println("是否继续录入宿舍信息(是请按1,不是请按0)");
        Scanner sc = new Scanner(System.in);
        String i = sc.next();
        switch (i) {
            case "1":
                luru(array);
                break;
            case "0":
                save(array);
                mainfenzhi(array);
                break;
            default:
                System.out.println("请输入正确的数字!");
                lurufenzhi(array);
                break;
        }
    }

    public static void xiugai() {
        Scanner sc = new Scanner(System.in);
        List<dorm> array = duqu();
        while (true) {
            System.out.println("请输入你需要修改的信息的房间号");
            String roomnumber = sc.next();
            xuigaifenzhi(array, roomnumber);
        }
    }

    public static void xuigaifenzhi(List<dorm> array, String roomnumber) {
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < array.size(); i++) {
            dorm s = array.get(i);
            if (s.getRoomnumber().equals(roomnumber)) {
                System.out.println("已找到该房间号的信息:" + "房间号为:" + s.getRoomnumber() + " 所容纳人数为:" + s.getThemaxnumber() + " 楼号为:" + s.getBulidingnumber() + "面积为:" + s.getArea() + "入住人数为:" + s.getRealitynumber());
                while (true) {
                    System.out.println("修改楼号请按1,修改房间号请按2,修改所容纳人数请按3,修改面积请按4,修改入住人数请按5,取消修改请按0");
                    String m = sc.next();
                    switch (m) {
                        case "1":
                            System.out.println("修改楼号,请输入你修改后的数据");
                            String bulidingnumber1 = sc.next();
                            s.setBulidingnumber(bulidingnumber1);
                            System.out.println("修改成功!");
                            xuigaifenzhi2(array, roomnumber);
                            break;
                        case "2":
                            System.out.println("修改房间号,请输入你修改后的数据");
                            String roomnumber1 = sc.next();
                            s.setRoomnumber(roomnumber1);
                            System.out.println("修改成功!");
                            xuigaifenzhi2(array, roomnumber1);
                            break;
                        case "3":
                            System.out.println("修改所容纳人数,请输入你修改后的数据");
                            int themaxnumber1 = sc.nextInt();
                            s.setThemaxnumber(themaxnumber1);
                            System.out.println("修改成功!");
                            xuigaifenzhi2(array, roomnumber);
                            break;
                        case "4":
                            System.out.println("修改面积,请输入你修改后的数据");
                            double area1 = sc.nextInt();
                            s.setArea(area1);
                            System.out.println("修改成功!");
                            xuigaifenzhi2(array, roomnumber);
                            break;
                        case "5":
                            System.out.println("修改入住人数,请输入你修改后的数据");
                            int realitynumber1 = sc.nextInt();
                            s.setRealitynumber(realitynumber1);
                            System.out.println("修改成功!");
                            xuigaifenzhi2(array, roomnumber);
                            break;
                        case "0":
                            mainfenzhi(array);
                            break;
                    }
                }
            }
        }
    }

    public static void xuigaifenzhi2(List<dorm> array, String roomnumber) {
        System.out.println("是否继续修改该宿舍信息,是请按1,退出请按0");
        Scanner sc = new Scanner(System.in);
        String r = sc.next();
        switch (r) {
            case "1":
                System.out.println("继续修改该宿舍信息");
                xuigaifenzhi(array, roomnumber);
                break;
            case "0":
                save(array);
                System.out.println("退出修改系统");
                mainfenzhi(array);
                break;
            default:
                System.out.println("请输入正确的数字!");
                xuigaifenzhi2(array, roomnumber);
        }
    }


    //删除指定房间号记录
    public static void delete() {
        Scanner sc = new Scanner(System.in);
        List<dorm> array = duqu();
        while (true) {
            System.out.println("请输入你要删除的房间号");
            String roomnumber = sc.next();
            deletefenzhi(array, roomnumber);
        }
    }

    public static void deletefenzhi(List<dorm> array, String roomnumber) {
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < array.size(); i++) {
            dorm s = array.get(i);
            if (s.getRoomnumber().equals(roomnumber)) {
                System.out.println("已找到该房间号的信息:" + "房间号为:" + s.getRoomnumber() + " 所容纳人数为:" + s.getThemaxnumber() + " 楼号为:" + s.getBulidingnumber() + "面积为:" + s.getArea() + "入住人数为:" + s.getRealitynumber());
                while (true) {
                    System.out.println("确认删除请按1,取消删除请按0");
                    String s1 = sc.next();
                    switch (s1) {
                        case "1":
                            array.remove(i);
                            System.out.println("删除成功!");
                            save(array);
                            mainfenzhi(array);
                            break;
                        case "0":
                            System.out.println("取消删除成功!");
                            mainfenzhi(array);
                            break;
                        default:
                            System.out.println("请输入正确的数字!");
                            deletefenzhi(array, roomnumber);
                            break;

                    }
                }
            }
        }
    }

    public static void liulan() {
        List<dorm> array = duqu();
        for (dorm arrays : array) {
            System.out.println(arrays);
        }
    }

    public static void chaxun() {
        List<dorm> array = duqu();
        while (true) {
            System.out.println("按房间号查询,请输入你想查询的房间号");
            chaxunfenzhi1(array);
        }
    }

    public static void chaxunfenzhi1(List<dorm> array) {
        Scanner sc = new Scanner(System.in);
        String r = sc.next();
        for (int i = 0; i < array.size(); i++) {
            dorm s = array.get(i);
            if (s.getRoomnumber().equals(r)) {
                System.out.println("已找到该房间号的信息:" + "房间号为:" + s.getRoomnumber() + " 所容纳人数为:" + s.getThemaxnumber() + " 楼号为:" + s.getBulidingnumber() + "面积为:" + s.getArea() + "入住人数为:" + s.getRealitynumber());
                chaxunfenzhi(array);
            }
        }
    }

    public static void chaxunfenzhi(List<dorm> array) {
        Scanner sc = new Scanner(System.in);
        System.out.println("继续查询房间请按1,退出请按0");
        String f = sc.next();
        switch (f) {
            case "1":
                System.out.println("继续查询房间");
                chaxun();
                break;
            case "0":
                System.out.println("退出查询");
                mainfenzhi(array);
                break;
            default:
                System.out.println("请输入正确的数字!");
                chaxunfenzhi(array);
                break;
        }
    }

    public static void paixu() {
        List<dorm> array = duqu();
        System.out.println("按照已入住人数进行排序");
        Collections.sort(array);
        liulan();
    }


    public static void save(List<dorm> array) {
        try (
                ObjectOutputStream bos = new ObjectOutputStream(new FileOutputStream("D:\\Java lianxi\\keshe\\keshe\\save"))
        ) {
            bos.writeObject(array);
            System.out.println("保存成功!");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    public static List<dorm> duqu() {
        try (

                ObjectInputStream bow = new ObjectInputStream(new FileInputStream("D:\\Java lianxi\\keshe\\keshe\\save"))
        ) {
            List<dorm> array = (List<dorm>) bow.readObject();
            System.out.println("读取成功!");
            return array;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    public static void zhuijia() {
        List<dorm> array = duqu();
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入楼号");
        String bulidingnumber = sc.nextLine();
        System.out.println("请输入房间号");
        String roomnumber = sc.nextLine();
        System.out.println("请输入面积");
        double area = sc.nextInt();
        System.out.println("请输入所容纳人数");
        int themaxnumber = sc.nextInt();
        System.out.println("请输入入住人数");
        int realitynumber = sc.nextInt();

        dorm s = new dorm();
        s.setBulidingnumber(bulidingnumber);
        s.setRoomnumber(roomnumber);
        s.setArea(area);
        s.setThemaxnumber(themaxnumber);
        s.setRealitynumber(realitynumber);
        array.add(s);
        System.out.println("录入宿舍信息成功!");
        lurufenzhi(array);
    }

}

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Java大学学期期末大作业合集 内容概览: 这份合集是我在大学期间完成的Java学期期末大作业,其中包括了完整的代码、项目、文档和使用说明。内容涵盖了从基础到进阶的Java知识,具体包括: 代码与项目:详细的Java代码,展示了各种数据结构和算法的实际应用。同时,我还创建了一个完整的小型项目,该项目使用Java进行开发,并实现了多种功能。 MD文档:为了帮助他人更好地理解项目,我编写了详细的Markdown文档,对项目进行了全面的介绍,包括项目背景、功能描述、技术栈选择等。 操作手册与使用说明:针对项目的实际使用,我编写了详尽的操作手册和使用说明,确保用户可以轻松上手。 学习笔记:在完成项目的过程中,我记录了大量的学习笔记,这些笔记涵盖了我遇到的问题、解决方案以及学习心得。 适用人群: 这份合集适用于所有正在学习或已经掌握Java基础的人群,无论你是大学生、Java初学者还是有一定经验的开发者,都可以从中获得启发和帮助。 使用建议: 按需阅读:不同的用户可能有不同的需求,你可以根据自己的实际情况选择阅读的内容。例如,如果你对某个算法或数据结构感兴趣,可以直接查看相关的代码实现。 实践为先:虽然这份合集提供了丰富的理论知识和实践代码,但最好的学习方式仍然是亲自动手实践。尝试运行代码、修改项目并解决遇到的问题。 持续学习:Java是一门不断发展的语言,新的特性和技术不断涌现。我建议你在使用这份合集的同时,也要关注Java的最新动态,持续学习和进步。
java 大一课程设计 qq聊天程序socket=new Socket(); textPanel.send.setEnabled(false); thread=new Thread(this); setVisible(true); validate(); } public void actionPerformed(ActionEvent e) { if(e.getSource()==save) { savefile.setVisible(true); if(savefile.getFile()!=null) { try{ File file=new File(savefile.getDirectory(),savefile.getFile()); FileWriter tofile=new FileWriter(file); BufferedWriter out=new BufferedWriter(tofile); out.write(textPanel.getWholeText(), 0, textPanel.getWholeText().length()); out.close(); tofile.close(); } catch(IOException e2){} } } else if(e.getSource()==doodle) { thePaint.setVisible(true); } else if(e.getSource()==Disconnect) { if(socket.isConnected()) { try{ ps.writeUTF("QUIT:"); ps.flush(); socket.close();}catch(IOException ee){System.out.println("无法关闭");} } setTitle("用户"+name+"离线"); textPanel.send.setEnabled(false); nameList.removeAll(); nameLable.setText("在线用户: "+"人数: "+(nameList.getItemCount())); } else if(e.getSource()==connect) { try//请求和服务器建立套接字连接 { if(socket.isConnected()){} else { InetAddress address=InetAddress.getLocalHost(); InetSocketAddress socketAddress=new InetSocketAddress(address,8080); socket.connect(socketAddress); reader=new DataInputStream(socket.getInputStream()); ps=new DataOutputStream(socket.getOutputStream()); out=new ObjectOutputStream(socket.getOutputStream()); in=new ObjectInputStream(socket.getInputStream()); ps.writeUTF(name);//开始即传输用户名 ps.flush(); setTitle("用户"+name+"在线"); thread.start(); } }catch(IOException ee){} } else if(e.getSource()==groupChat) { groupMode=true; condition.setText("群 聊\n"); textPanel.send.setEnabled(true); } else if(e.getSource()==privateChat) { groupMode=false; condition.setText("私 聊\n"); textPanel.send.setEnabled(true); } else if(e.getSource()==nameList) { if(!groupMode) { indexName=nameList.getSelectedItem(); condition.setText("私 聊\n与"+nameList.getSelectedItem()+"聊天中\n"); } } else if(e.getSource()==textPanel.send) { if(e.getSource()==textPanel.send) { textPanel.text=textPanel.in.getText(); Font f=textPanel.in.getFont(); textPanel.out.setFont(f); Color c=textPanel.in.getForeground(); textPanel.out.setForeground(c); textPanel.in.setText(""); if(!groupMode) { textPanel.out.append("\n"+"我说:"+textPanel.text+"\n"); } else { textPanel.out.append("\n"); } System.out.println("文本输出~~"); String text=textPanel.text; if(groupMode) { StringBuffer msg=new StringBuffer("MSG:"); msg.append(text); String s=msg.toString(); try{ ps.writeUTF(s); ps.flush();}catch(IOException ee){System.out.println("输出文本错误");} System.out.println("成功输出"); } else { StringBuffer msg=new StringBuffer("MSGTOONE:"); msg.append(indexName+":"+text); String s=msg.toString(); try{ ps.writeUTF(s); ps.flush();}catch(IOException ee){System.out.println("输出文本错误");} System.out.println("成功输出"); } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值