java课程设计 博客园_java课程设计

Java程序设计 课程设计

5b83c5321f0e6bad96bdf63ad743aa2d.png

ea36842e000b35482bda86b545a6b627.png

31accfc0696a73d0c0ab7d9bbcfd6bf4.png

3.本人负责的主要功能展示与代码分析

//这是一个文件夹类

public class Folder {

private String name;//文件夹的名称

private String path;//文件的绝对路径

private int dircount;//文件夹数

private int filecount;//文件数

private long size;//文件的大小

/**

* Folder类构造函数

* @param path

*/

public Folder(String path){//把路径传进来

File file = new File(path);//新建一个file对象

this.path = path;

if(file.exists()){//开始查找判断

this.name = file.getName();

File[] files = file.listFiles();//得到文件夹下所有的(文件列表)名字,包括文件夹名以及文件夹下文件的名字

for (File f : files)//遍历文件列表

{

if(f.isDirectory())

{

this.dircount++;//文件夹的数目加1

}else if(f.isFile())

{

this.filecount++;//文件夹的数目加1

}else{

}

}

}

this.size=getDirSize(path);//获得文件的大小

}

/**

* 获取文件大小

* @param file

* @return (long)size

*/

private long getFileSize(File file){

return file.length();

}

/**

* 获取文件夹大小的方法

* @param path

* @return (long)size

*/

private long getDirSize(String path){

long l=0;

File file = new File(path);

if(file.exists()){

if(file.isDirectory())//如果对象是一个文件夹

{

File[] files = file.listFiles();

if(files.length!=0)//文件夹不为空

{

for(File f: files)//for each 循环

{

l+=getDirSize(f.getPath());//递归调用

}

}

}else if(file.isFile())

{

l+=getFileSize(file);

}

}

return l;

}

/**

* 格式化文件大小

* @param fileS

* @return

*/

public static String FormetFileSize(long fileS) {//格式化转换文件大小

DecimalFormat df = new DecimalFormat("#.00");

String fileSizeString = "";

if (fileS < 1024)

{

fileSizeString = df.format((double) fileS) + 'B';

} else if (fileS < 1048576)

{

fileSizeString = df.format((double) fileS / 1024) + 'K';

} else if (fileS < 1073741824) {

fileSizeString = df.format((double) fileS / 1048576) + 'M';

} else

{

fileSizeString = df.format((double) fileS / 1073741824) + 'G';

}

return fileSizeString;

}

/**

* 删除目录

* @return boolean

*/

public boolean delete(){

File file = new File(path);

File[] files = file.listFiles();

if(files.length!=0){

for(File f : files){

if(f.isDirectory()){//如果是文件夹就

Folder folder = new Folder(f.getPath());

folder.delete();//递归调用delete

}else{

f.delete();// 不是文件夹就直接删除

}

file.delete();//删除最外层的文件夹

}

}else

file.delete();//删除空目录

return true;

}

public String getName() {

return name;

}

public String getPath() {

return path;

}

public int getDircount() {

return dircount;

}

public int getFilecount() {

return filecount;

}

public long getSize() {

return size;

}

}

4测试与改进

5258f1acc4e131602e0c96b86cc2173f.png

c436a85881917fb94cd599dff0fd07bd.png

d9dc9d50e700d26a57cc502384115381.png

1084520fe7d84946b4d5f6f9665d740b.png

5附录:完整、可运行代码(不打印,电子版需提供)

代码包含适当的注释

注:进行分组设计的同学,每个设计者在设计报告中主要阐述自己负责的设计工作(组成员自己分别完成一份独立的课程设计报告)。

1、 自定义类说明: (1)类名:MainTest 作用:主类,构建主界面 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JPanel ContentPane; private JButton Insert = new JButton(); private JButton Select = new JButton(); private JButton Update = new JButton(); 内部类:MainTest_actionPerformed,主页面的事件监听。 jenter_ actionPerformed,按钮的事件监听。 主要成员方法: public MainTest() public static void main(String[] args) (2)类名:Insert 作用:实现添加个人信息 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JPanel ContentPane; private JLabel jlab1 = new JLabel(); private JLabel jlab2 = new JLabel(); private JLabel jlab3 = new JLabel(); private JLabel jlab4 = new JLabel(); private JLabel jlab5 = new JLabel(); private JLabel jlab6= new JLabel(); private JLabel jlab7 = new JLabel(); private JLabel jlab8 = new JLabel(); private JTextField jtextfield1 = new JTextField(); private JTextField jtextfield2 = new JTextField(); private JTextField jtextfield3 = new JTextField(); private JTextField jtextfield4 = new JTextField(); private JTextField jtextfield5 = new JTextField(); private JComboBox jcombobox1 = new JComboBox(); private JComboBox jcombobox2 = new JComboBox(); private JTextArea jtextarea = new JTextArea(); private JButton sure = new JButton(); 内部类:sure_actionperformed,按钮的事件监听,实现对数据的插入。 主要成员方法:public Insert(); (3)类名:Update 作用:对个人信息进行修改。 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JPanel ContentPane; private JLabel jlab1 = new JLabel(); private JLabel jlab2 = new JLabel(); private JLabel jlab3 = new JLabel(); private JLabel jlab4 = new JLabel(); private JLabel jlab5 = new JLabel(); private JTextField jtextfield1 = new JTextField(); private JTextField jtextfield2 = new JTextField(); private JTextField jtextfield3 = new JTextField(); private JTextField jtextfield4 = new JTextField(); private JButton sure = new JButton(); private JButton upda = new JButton(); 主要成员方法: public Update() public void actionPerformed(ActionEvent e) (4)类名:Select 作用:查询学生个人信息 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JTextArea taInfo=new JTextArea(); private JPanel panel=new JPanel(); private JTextField jtextfield1=new JTextField(); private JButton jbutton=new JButton("查询"); private JLabel jlabel=new JLabel("学号"); 主要成员方法: public Select() public void actionPerformed(ActionEvent e)
1. 输出50—100间的所有素数,其中判断一个数是否为素数用函数完成。 2. 设计一个学生成绩管理系统,能输入学生的学号、姓名和成绩等数据,能按成绩从高到低进行排序,并能将排序的结果输出。 提示: 设计一个学生类student,包含三个私有数据成员,即学号sno、姓名sname和成员score; 在学生类student中再设计三个方法 setdata、display和getscore,分别用于完成输入学生信息、输出学生信息、返回某个学生成绩的功能; 定义一个manage类,它有一个student类型的私有数据成员s[num],其中num表示学生人数; 在manage类中分别定义三个方法input、output、sort,分别用于完成输入、输出和排序功能。 3.一个电子产品商店里卖各种电子产品,以下是几种产品类信息。 产品Product 的属性信息包括: 产品号(number) 种类(category) 名称(name) 价格(price ) 计算机Computer除具有产品基本信息外,还可能具有下面的属性: 内存(memory) 处理器(processorName)   笔记本电脑Laptop 除具有产品基本信息外,还可能具有下面的属性: 厚度(thickness) 重量(weight) 根据以上信息,首先抽象出类Product,它派生出子类Computer,Computer又派生出它的子类Laptop,实现以上三个类的定义,定义相应的构造方法,声明一个测试类,生成类对象,并把打印结果显示在屏幕上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值