面向对象第二段业总结

过了这三次作业老师教我们怎么设计一个多线程程序,这三次作业都是关于多线程。

第5次作业——多线程电梯

这第5次作业我赶不上提交,因为在之前的作业我没做所以第五次作业我没法做。

我基本设计是这样:输入、调度器、三部电梯,共5个线程。输入和总调度器从共享对象——请求队列——中获取请求,从调度器到三部电梯系统发请求,一个电梯系统就是继承的第三次作业的1调度器,可以自行处理发到电梯系统的一系列请求。

第6次作业——IFTT线程

在这次作业我也没完成整个代码,我只完成一部分代码,而且这代码还是基本设计的,还没设计它的功能

我基本设计是这样:每个监控作业一个线程,线程互相不交互,每次用户输入,系统访问用户的请求而系统作用户请求的任务。

我程序才有6个线程,但只设计一个类,这个代码也还没完成,因为我也还有点模糊它的功能,而怎么设计的。我的代码是这样

trigger.java

package monitoring;
//ALL FILE IS FROM USER INPUT
import java.io.File;
import java.text.SimpleDateFormat;
import java.io.IOException;

public class trigger
{
public void renamed()
{
//File oldfile =new File("oldfile.txt"); //file from user input
//File newfile =new File(""); /*from user input*/


if(oldfile.renameTo(newfile)){
return 1;
}
else{
System.out.println("Rename failed");
}
}

public void modified()
{
//File file = new File("c:\\logfile.log"); //file from user input

System.out.println("Before Format : " + file.lastModified());

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");

System.out.println("After Format : " + sdf.format(file.lastModified()));
}


public void path_changed()
{
try
{
//String filename = "newFile.txt"; //file fromo user input
String workingDirectory = System.getProperty("user.dir");

//****************//

String absoluteFilePath = "";

//absoluteFilePath = workingDirectory + System.getProperty("file.separator") + filename;
absoluteFilePath = workingDirectory + File.separator + filename;

System.out.println("Final filepath : " + absoluteFilePath);

//****************//

File file = new File(absoluteFilePath);

if (file.createNewFile()) {
System.out.println("File is created!");
}
else {
System.out.println("File is already existed!");
}

}
catch (IOException e)
{
e.printStackTrace();
}
}


public void size_changed()
{
//File file =new File("c:\\java_xml_logo.jpg"); //from useer input

if(file.exists())
{

double bytes = file.length();
double kilobytes = (bytes / 1024);
//double megabytes = (kilobytes / 1024);

System.out.println("bytes : " + bytes);
System.out.println("kilobytes : " + kilobytes);
//System.out.println("megabytes : " + megabytes);

}
else
{
System.out.println("File does not exists!");
}

}
}

第7次作业——租出车请求系统

在这次作业我没完成整个程序,因为我对这次作业也还是有点模糊,特别是JAVA语言的各种各样功能。

我基本设计是这样:主线程、100辆出租车、每个请求一个线程。我设计了Input Handler,和Output Handler调用输入/输出处理方法,每输入增加一个请求队列就开始一个请求处理线程,所有请求处理线程共享100辆出租车,可随时获取其状态。

在这次作业我才设计输出的基本功能而这个我也还没修改的

OutputHandler.java

package taxisystem;

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

public class InputHandler {
//Scanner
public void input(String str) {
String pattern = "[cr,src,dst]";
System.out.println(pattern);

Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
String str1 = scan.nextLine();
input(str1);
}
}
}

我真抱歉在这次作业我没有做完成的程序,因为我还是学着Java而在分析的时候经常很模糊。

心的体会

过了这三次作业我对自己的表现也不太满意,因为这三次作业我自己无法做完成的程序,而未完成作业的要求。我这程序是算一个很大的BUG而且不是一个程序。

我自己希望下次作业我会更好设计一个OO程序,而对我来说这次作业是训练我自己的编程能力,我自己也会更加努力完成下次作业。过了这三次作业我学了好多OO的概念比如:线程安全,OO程序设计等。希望从下一段作业我会学更多东西。

猜你喜欢

转载自www.cnblogs.com/zhangjinyuan9/p/8978422.html
今日推荐