我正在尝试使用C中的ncurses来实现游戏.我必须显示当前时间(时间必须每秒更新)并且我的while循环看起来像这样
while(1)
{
clk = time(NULL);
cur_time = localtime(&clk);
mvprintw(0,1,"%d %d %d",cur_time->tm_hour,cur_time->tm_min,cur_time->tm_sec);
int key = getch()
//other stuff
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,只有当我按下一个键时,时间才会刷新.这是一种无需按键即可刷新时间的方法(并在同一时间实现)
我试图在矩形内生成一定数量的随机均匀点(我知道每个角的坐标对).
让我们的矩形为ABCD
我的想法是:通过AC对角线将矩形划分为两个三角形.求斜率和对角线的截距.然后,从[0,1]间隔生成两个随机数,让它们成为a,b.评估x = a AB和y = b AD(AB,AD,距离).如果A不是(0,0),那么我们可以添加到x和y A的坐标.现在我们有一个点(x,y).如果它不在下三角形(ABC)中,请跳至下一步.否则,将点添加到我们的绘图中,并添加(x,y)与AC对角线的对称性,以便我们也可以填充上三角形(ADC).
我已经实现了这一点,但我非常怀疑这些点是统一生成的(从图中判断).我应该如何修改我的算法?我猜这个问题与我如何选择三角形和对称的东西有关.

我有一个相当大的项目(大学的OOP课程):一个学校注册,学生可以看到他们的成绩,教师可以增加成绩等等.
"base"类是一个包含所有使用的类(Java)的单例,例如用户数组,类(如在学校类中)和将classess和教师关联到课程的TreeMap.
我想序列化这个基类(Central),以便保存修改后的数据.问题是我得到了这个例外
java.io.NotSerializableException: liceu.Central$1
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:440)
at java.util.TreeMap.writeObject(TreeMap.java:2265)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at liceu.Main.main(Main.java:31)
Run Code Online (Sandbox Code Playgroud)
我的所有类都实现了Serializable,它们没有瞬态或静态字段(单例除外,它具有实例变量和getInstance方法作为静态).
因为发布会有很多代码(我会冒着通过在提交之前发布它来使我的作业无效),我试图通过尝试隔离错误来进行概念验证.
public class Central implements Serializable
{
private ArrayList <User> users;
private ArrayList <Class> classess;
private TreeMap <Course, TreeMap <Class, Professor>> reunite;
private static Central instance = null;
private Central()
{
users = new ArrayList<>();
classess = …Run Code Online (Sandbox Code Playgroud) java serialization exception treemap notserializableexception