求推荐一个app类似苹果todo的软件可以记录要做的然后打钩可以?
客户端import java.awt.*;import java.awt.event.*;import java.io.*;import java.net.*;public class ChatClient extends Frame { Socket s = null; DataOutputStream dos = null; DataInputStream dis = null; private boolean bConnected = false; TextField tfTxt = new TextField(); TextArea taContent = new TextArea(); Thread tRecv = new Thread(new RecvThread()); public static void main(String[] args) { new ChatClient().launchFrame(); } public void launchFrame() { setLocation(400, 300); this.setSize(300, 300); add(tfTxt, BorderLayout.SOUTH); add(taContent, BorderLayout.NORTH); pack(); this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { disconnect(); System.exit(0); } }); tfTxt.addActionListener(new TFListener()); setVisible(true); connect(); tRecv.start(); } public void connect() { try { s = new Socket("127.0.0.1", 8888); dos = new DataOutputStream(s.getOutputStream()); dis = new DataInputStream(s.getInputStream());System.out.println("connected!"); bConnected = true; } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void disconnect() { try { dos.close(); dis.close(); s.close(); } catch (IOException e) { e.printStackTrace(); } /* try { bConnected = false; tRecv.join(); } catch(InterruptedException e) { e.printStackTrace(); } finally { try { dos.close(); dis.close(); s.close(); } catch (IOException e) { e.printStackTrace(); } } */ } private class TFListener implements ActionListener { public void actionPerformed(ActionEvent e) { String str = tfTxt.getText().trim(); //taContent.setText(str); tfTxt.setText(""); try {//System.out.println(s); dos.writeUTF(str); dos.flush(); //dos.close(); } catch (IOException e1) { e1.printStackTrace(); } } } private class RecvThread implements Runnable { public void run() { try { while(bConnected) { String str = dis.readUTF(); //System.out.println(str); taContent.setText(taContent.getText() + str + '\n'); } } catch (SocketException e) { System.out.println("退出了,bye!"); } catch (EOFException e) { System.out.println("推出了,bye - bye!"); } catch (IOException e) { e.printStackTrace(); } } }}服务器端import java.io.*;import java.net.*;import java.util.*;public class ChatServer { boolean started = false; ServerSocket ss = null; List clients = new ArrayList(); public static void main(String[] args) { new ChatServer().start(); } public void start() { try { ss = new ServerSocket(8888); started = true; } catch (BindException e) { System.out.println("端口使用中...."); System.out.println("请关掉相关程序并重新运行服务器!"); System.exit(0); } catch (IOException e) { e.printStackTrace(); } try { while(started) { Socket s = ss.accept(); Client c = new Client(s);System.out.println("a client connected!"); new Thread(c).start(); clients.add(c); //dis.close(); } } catch (IOException e) { e.printStackTrace(); } finally { try { ss.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class Client implements Runnable { private Socket s; private DataInputStream dis = null; private DataOutputStream dos = null; private boolean bConnected = false; public Client(Socket s) { this.s = s; try { dis = new DataInputStream(s.getInputStream()); dos = new DataOutputStream(s.getOutputStream()); bConnected = true; } catch (IOException e) { e.printStackTrace(); } } public void send(String str) { try { dos.writeUTF(str); } catch (IOException e) { clients.remove(this); System.out.println("对方退出了!我从List里面去掉了!"); //e.printStackTrace(); } } public void run() { try { while(bConnected) { String str = dis.readUTF();System.out.println(str); for(int i=0; i it = clients.iterator(); it.hasNext(); ) { Client c = it.next(); c.send(str); } */ /* Iterator it = clients.iterator(); while(it.hasNext()) { Client c = it.next(); c.send(str); } */ } } catch (EOFException e) { System.out.println("Client closed!"); } catch (IOException e) { e.printStackTrace(); } finally { try { if(dis != null) dis.close(); if(dos != null) dos.close(); if(s != null) { s.close(); //s = null; } } catch (IOException e1) { e1.printStackTrace(); }} } }}
关于机械设计制造及其自动化专业的大三学生,自学三维软件,那一款...
我 大四,马上毕业,这三个软件都学过。
sw学的时间最长,但未来工作用的是UG。
根据我的应聘经历来看,一般要求会其中一种就可以了,尤其sw和UG他们建模思路还是有相同点的。
比如说我之前学的是proe和sw,但公司要的是UG,于是他们就通知我先自学,学了半个月后,到公司实习,到那儿后老师布置任务培训半个月后就上岗了。
也就是说,只要学好一个,在学其他的也就不难,所以你选其中一个学精就好。
个人觉proe的建模思路与其他两个不太相同,学起来较难。
solidworks较简单,学起来快,建议你学solidworks,有余力在学proe,ug很强大,建模思路与solidworks有相似之处,你也可以以后尝试一下。
推荐一个学习网站www.todo12.com你可以看看,那里面有学习资料。
下面哪个语句在python中是非法的
pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作,比如:while False:passpass通常用来创建一个最简单的类:class MyEmptyClass:passpass在软件设计阶段也经常用来作为TODO,提醒实现相应的实现,比如:def initlog(*args):pass #please implement this
安卓平台有没有类似iHour一样的软件
1.aTimeLogger 老牌时间记录器,可以自定义分类,统计和回顾也很清晰 iTunes App Store 的 iPhone,iPod touch和 iPadaTimeLoggeraTimeLogger出安卓版啦!(2013/12/3更新)2.Evertracker,记录方便,点击单个条目而已,其他app需要输入分类或者弹出窗口 ,可以和evernote配合Evertracker | Track everything3.mrtime,支持iOS和Android双平台。
从《奇特的一生》里的时间记录法获取的灵感,支持导出到有道云笔记,但是小问题很多。
MrTime:基于《把时间当作朋友》的时间记录APP(for Android,Iphone)4.iHour「iHour·时间投资计划」是一个帮助你规划、记录自己时间投入的 app,可以帮助你记录「背单词多少小时」「练琴多少小时」「看书多少小时」「Coding 多少小时」等需要时间累积来提高的技能。
特有每日定时提醒,事件正倒数计时器,支持长达 10 年的时间规划。
特别设计的成就系统,帮助你突飞猛进。
[新应用]iHour?时间投资计划:10000小时成为专家5.10K Hours和上面那款类似,针对笃信10000小时定律的人开发的 App。
【最美应用】 10K Hours6.TimeOrg - 时间记录TimeOrg是一款可让你轻松跟踪工作时间的免费应用程序。
使用TimeOrg,你将可始终知道自己的加班时间和未工作时间。
非常适合工作时间灵活的雇员或合同工使用。
TimeOrg - 时间记录-iPhone软件-25pp.comAndroid平台1.Gleeo Time Tracker,Android上功能最完善的时间记录App,可以自定义条目,同时启动多个记录,再配套Automagic for Gleeo可以输出cvs到excel中进行统计分析,具体请参考 ,缺点嘛,太丑了【原创】时间记录佳软-Gleeo Time Tracker简明使用教程_zfcansoft_新浪博客【原创】Automagic for Gleeo简单介绍:gleeo time tracker的绝佳伴侣_zfcansoft_新浪博客2.Timesheet Time Meter (Tracker),正在完善中的App,界面有中文,目前除了记录,还没用统计和备份功能,节目也是holo风格,期待它继续完善 Timesheet Time Meter (Tracker)..它还有个插件,支持备份到谷歌日历上:Timesheet Time Meter (Tracker)..3.Time Recording - Timesheet App,老牌时间记录App,据说功能很强大,但是界面实在是太丑了!Time Recording它还有个专业版,但是不知道有啥强大的Time Recording Pro4.Timesheet - Time Tracker-rauscha,界面很漂亮,但是其付费模式似乎不支持中国,所以没体验过,也有个插件可以配合使用Timesheet - Time TrackerTimesheet Calendar Exporter5.Jiffy – Time tracker,强烈推荐,是目前Android上最好的时间记录App了,支持多条目同时计时,界面精美,最难得可贵的是支持通知栏快捷操作(Android4.1新特性),不过免费版只可以建立三个条目,求破解。
。
。
。
。
Jiffy – Time tracker : 记录/管理你的时间[Android]6 Swipetimes time tracker 刚刚推出了一个新time tracker,比jiffy还漂亮,对于项目和任务的关系也更清晰,不过也有创建项目和任务的数量限制7.番茄土豆 番茄土豆是番茄工作法和 To-do List 工具,结合最高效的时间管理方法“番茄工作法”和 GTD 任务管理方法,让工作如虎添翼。
它可以帮助你计划、管理、执行、记录工作。
https://pomotodo.com/apps8.爱今天爱今天是一款完全免费时间管理软件,能够记录你花费在目标上的时间,并自动生成统计图表,帮你量化你的努力,让你更高效的利用时间;每天自动生成时间分配图,让你对自己时间花费有更好的控制,同时自动生成每天起床曲线图,帮你养成早起学习的好习惯。
Android上的时间时间记录App其实非常多,但是很多都太垃圾了,界面丑陋、功能奇葩尤其令人奇怪的是很少有支持通知栏快捷操作和widgets,这两个功能可以快速开始计时上秒杀iOS的。
其实本人也在设计一个Android平台上的时间记录App(计划——执行——统计),可惜自己编程水平差,写不出来
设计一个Java程序的门禁系统
package test;public class InputEquitTest { /**展开全部 * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub }} package test;import sys.*;import user.*;public class AdminTest { /** * @param args */ public static void main(String[] args) { Admin admin = new Admin("王哲"); // 管理员 ControlSys sys = new ControlSys(); // 门禁系统 System.out.println("门禁系统---管理员测试"); System.out.println("***************************************************"); admin.workDoor(sys, "pa", "654321"); while(true){ admin.InputInfo(sys); sys.work(); } }} package test;import sys.*;import user.*;public class EmployeeTest { /** * @param args */ public static void main(String[] args) { Employee employee = new Employee("雇员张三丰"); // 雇员 ControlSys sys = new ControlSys(); // 门禁系统 System.out.println("门禁系统---雇员测试"); System.out.println("***************************************************"); while(true){ employee.InputInfo(sys); sys.work(); } }} package test;import sys.*;import user.*;public class GuestTest { /** * @param args */ public static void main(String[] args) { Guest guest = new Guest("赵强"); // 访客员 Admin admin = new Admin("王石头"); // 管理员 ControlSys sys = new ControlSys(); // 门禁系统 System.out.println("门禁系统---访客测试"); System.out.println("***************************************************"); while(true){ guest.pressRing(sys); admin.workDoor(sys, guest); sys.work(); } }}
如何用delphi设计程序打开dxf图像
OpenGL是美国SGI公司最新推出的一套开放式的三维图形软件接口,适用于广泛的计算机环境,从个人计算机到工作站,OpenGL都能实现高性能的三维图形功能。
OpenGL本身不仅提供对简单图元的操作和控制,还提供了许多函数用于复杂物体的建模。
但是,我们通常喜欢使用AutoCAD和3DS及3Dmax等工具来建立模型,并且我们已经有了很多这样的模型,那么我们如何才能资源共享,避免重复劳动呢?利用CAD图形标准数据交换格式—DXF格式,我们就能很容易地实现资源共享,而不需要重复建模。
DXF文件的结构很清楚,具体如下: 1. 标题段(HEADER ) 有关图形的一般信息都可以DXF 文件的这一节找到,每一个参数具有一个变量名和一个相关值。
2. 表段 这一段包含的指定项的定义,它包括: a、 线形表(LTYPE) b、 层表(LYER) c、 字体表(STYLE) d、 视图表(VIEW) e、 用户坐标系统表(UCS) f、 视窗配置表(VPORT) g、 标注字体表(DIMSTYLE) h、 申请符号表(APPID) 3. 块段(BLOCKS) 这一段含有块定义实体,这些实体描述了图形种组成每个块的实体。
4. 实体段(ENTITIES ) 这一段含有实体,包括任何块的调用。
5. END OF FILE(文件结束) 下面是对DXF的基本结构举一实例进行说明: 0 0 后接SECTION SECTION 表明这是一个段的开始 2 2 后接的是段名 HEADER 说明该段是HEADER 段(标题段) 9 $ACADVER 文件是由AUTOCAD 产生的 1 AC1008 9 9 后接 $UCSORG $UCSORG 用户坐标系原点在世界坐标系中的坐标 10 10 对应 X 0.0 X 的值 20 20 对应 Y 0.0 Y 的值 30 30 对应 Z 0.0 Z 的值 9 $UCSXDIR 这是一段不太相关的部分,略去 10 1.0 ... .... 9 9 后接 $EXTMIN $EXTMIN 说明三维实体模型在世界坐标系中的最小值 10 10 对应 X -163.925293 X 的值 20 20 对应 Y -18.5415860.0 Y 的值 30 30 对应 Z 78.350945 Z 的值 9 9 后接 $EXTMAN $EXTMAX 说明三维实体模型在世界坐标系中的最大值 10 10 对应 X 202.492279 X 的值 20 20 对应 Y 112.634300 Y 的值 30 30 对应 Z 169.945602 Z 的值 0 0 后接 ENDSEC ENDSEC 说明这一段结束了 0 0 后接SECTION SECTION 表明这是一个段的开始 2 2 后接的是段名 TABLES 说明该段是TABLES 段(表段) ... ... ... ... 该段对我们不太相关,此处略去不进行说明 0 0 后接 ENDSEC ENDSEC 说明这一段结束了 0 0 后接SECTION SECTION 表明这是一个段的开始 2 2 后接的是段名 ENTITIES 说明该段是ENTITIES 段(实体段)这是我 0 们要详细说明的段,该段包含了所有实体的 POLYLINE 点的坐标和组成面的点序。
0后接POLYLINE 8 表明以下数据是对于一个新的实体; OBJECT01 8后接的字符串是这个实体的名称 66 1 70 从66 1 到70 64 64 说明该实体是由许多小平面组成的 71 38 71 38说明该实体共有38 个点 72 72 72 72 说明该实体由72 个三角形构成 0 0 VERTEX VERTEX 表明后面紧跟着的是实体的数据 8 OBJECT01 10 对应X 坐标 -163.925293 X 的值 20 对应Y 坐标 -17.772665 Y 的值 30 对应Z 坐标 128.929947 Z 的值 70 70 192 192 表明上面的数据信息是点的坐标 0 每一个从0 VERTEX 到70 192 之间 VERTEX 的一小段是点的坐标 ... ... ... 70 192 0 VERTEX 8 OBJECT01 10 0 20 0 30 0 当70 后跟128 时,表明该实体的每个点的坐标数据已经记录 70 完了,下面紧跟着的是记录这些点是以什么样的方式组合成各 128 个三角形。
71 71、72、73 后面跟着的值表明某一个三角形是第二个、第 2 一个、第四个点构成的,点的顺序是按照记入DXF 文件的顺 72 序。
当某一值为负数时,则表明该点到下一点的线不要画出, 1 如果要画三维实体的线型图,就必须使用这一特性,否则线条 73 将会出现紊乱。
-4 0 VERTEX ... ... ... ... 0 0 后接SEQEND 表明该实体的数据已经全部记录完了 SEQEND 8 OBJECT01 0 POLYLINE 0 后接POLYLINE 表明以下又是一个新的实体 ... ... ... ... 0 ENDSEC 0 后接ENDSEC 表明这是该段的结尾 0 EOF 0后接EOF 表明这个DXF 文件结束了 在DXF文件中,我们最关心的是如何得到模型上各个点的坐标,并且用这些点连成许多个三用形,构成面,进而绘制出整个模型。
在DXF文件的结构中,我们已经看到,DXF文件先叙述实体上各个点的坐标,然后叙述实体上有多少个面,每个面由哪些点构成。
这样,我们至少需要2个数组来存储一个实体的信息,一个用于存储点的坐标,一个用于存储点序,我们可以把这2个数组放到一个结构中,如果模型中实体的数目不止一个是,我们就用这个结构来定义一个数组。
在本文中,我们使用 Visual C++ 6.0 来写一个读取DXF文件的小程序。
在实际应用中,模型中实体的数目以及实体中点和面的数目都是不定的,为了有效地利用内存,我们选择MFC类库中的聚合类CobArray类所创建的对象vertex, sequence来存储和管理实体的点坐标和点序。
CObArray类是一个用来存放数组类的聚合类,它能根据要存进来的数组(或结构)多少自动进行自身大小的高速,...
设计两个以上类,要求具有继承关系的java程序,最好可以说明每个类...
/** 设计一个Person类里面有两个抽象方法需要子类去实现 * Student和Older类重写父类方法代表其本身的特性*/abstract class Person {public abstract void read();public abstract void speed();}class Student extends Person {@Overridepublic void read() {System.out.println("我大声读");}@Overridepublic void speed() {System.out.println("我走得很快");}}class Older extends Person {@Overridepublic void read() {System.out.println("我不出声");}@Overridepublic void speed() {System.out.println("我走得很慢");}}
举枪打鸟鸟