小编Rom*_*dgz的帖子

GPS时间毫秒到UTC格式

是否有任何直接的方式将从1980年1月6日开始的一定时间转换为UTC格式,如YYYY/MM/DD HH:mm:ss?

编辑:这是代码工作:

private Date gpsInit;
//...
try{
        String ds = "06/01/1980";
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        gpsInit = df.parse(ds);
    }
    catch(ParseException e) {
        System.out.println("Unable to parse January 6th 1980");
    }

    textField = new JFormattedTextField(format);
    textField.setText(formatUTC(min));
//...
private String formatUTC(int timeValue) {
        long diference = timeValue + gpsInit.getTime()/1000;
        String pattern = "yyyy/MM/dd HH:mm:ss";
        SimpleDateFormat utcFormat = new SimpleDateFormat(pattern);
        Date utcNow = new Date(diference*1000);
        return utcFormat.format(utcNow);
    }
Run Code Online (Sandbox Code Playgroud)

java swing date

1
推荐指数
1
解决办法
2436
查看次数

确定阵列是增加还是减少的最佳方法

给定一组值,我想确定它是一个增加还是减少的数组.当然,如果我们只想检测Monotone Increase/Decreasing,这是微不足道的.但是如果我们有这样的数组:

3,3.2,3.4,3.3,3.4,3.7,4.2,4.8

它确实是一个增加的数组,但不是单调的,因为对于i = 3,我们有3.3 <3.4

另外,对我来说,第一个和最后一个索引之间的单一检查不是一个选项,因为我可能正在处理角度,而且我可以完成多个圆圈:

270º,290º,315º,345º,5º

我会说顺时针方向也在增加,尽管5º<270º

另外,如果我定义从0到180然后-180到0而不是0到360的角度,这又是一个问题:

170º,175º,180º,-175º,-170º对我来说再次增加.

我想为C++编写这个,但对我来说重要的是要使用的算法.任何的想法?

arrays algorithm

1
推荐指数
1
解决办法
1828
查看次数

在MapView上检测缩放更改

我有一个带有MapView的Android应用程序,并且已经实现了缩放控件.但是我想检测缩放级别何时发生变化,所以当发生这种情况时我可以做某些事情.有没有听众这样做?任何例子?

android google-maps zoom

0
推荐指数
1
解决办法
924
查看次数

返回任何类型的ArrayList

我有一些ArrayList声明.其中一些是ArrayList<Integer>和其他人一样ArrayList<Double>.

我想从另一个类中获取它们,所以我写了一个方法:

private ArrayList<Double> list1, list2;
private ArrayList<Integer> list3;

    public ArrayList getList(String nameOfList){
        ArrayList myList = new ArrayList();
        if(nameOfList.equals("list1")) myList = list1;
        else if(nameOfList.equals("list2")) myList = list2;
        else if(nameOfList.equals("list3")) myList = list3;
        return myList;
    }
Run Code Online (Sandbox Code Playgroud)

编译,但引发了一些警告:

*ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized* in the method above, and *Type safety: The expression of type ArrayList needs unchecked conversion to conform to List<? extends Number>* when calling the method …
Run Code Online (Sandbox Code Playgroud)

java list arraylist

0
推荐指数
1
解决办法
1万
查看次数

错误:CLASS_NAME尚未声明/未命名类型(c ++)

我不知道为什么我会收到这个错误,因为它在一小时前编译得很完美,我在这里没有做任何改动.

我有一个名为SocketsStatus的类,然后我有许多线程,每个线程实现一个套接字连接.所以我传递了一个对SocketsStatus对象的引用来控制哪些是连接的,哪些不是.

套接字状态标题:

#ifndef SOCKETSSTATUS_H_
#define SOCKETSSTATUS_H_

#include <QMutex>
#include <BufferDatos.h>

class SocketsStatus {
public:
    SocketsStatus();
    int setBufferStatus(int bufferId, bool status);
    bool isEveryBufferDisconnected();
    virtual ~SocketsStatus();

private:
    void init();

    bool bufferRawMeasConnected;
    bool bufferPosConnected;
    bool bufferRtkConnected;
    QMutex *mutex;
};

#endif /* SOCKETSSTATUS_H_ */
Run Code Online (Sandbox Code Playgroud)

然后,BufferDatos的标头的开头,这是我的Thread类:

#ifndef BUFFERDATOS_H_
#define BUFFERDATOS_H_

#include <QThread>
#include <QTcpSocket>
#include <SocketsStatus.h>
#include "Global.h"

class BufferDatos: public QThread {
public:
    BufferDatos(QString ip, qint16 port, SocketsStatus &buffersStatusPassed);
    virtual QByteArray extraerSiguienteMensaje(void) = 0;
    virtual ~BufferDatos();

protected:
    void run(void);
    bool connect(void);
    void receiveData(void); …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
2111
查看次数

带有std :: queue的std :: random_shuffle

如何应用std::random_shuffle算法std::queue?我试过这个:

std::random_shuffle(myQueue.front(), myQueue.back());
Run Code Online (Sandbox Code Playgroud)

并给出错误:

  • '__i- __first'中的'operator-'不匹配
  • '__ first!= __last'中的'operator!='不匹配
  • '__ first + 1'中的'operator +'不匹配
  • '++ __i'中'operator ++'不匹配

我的队列正在举行Card代表扑克牌的课程.我可以理解,错误来自于对std::random_shuffle队列元素进行的操作所以,即使我不需要!= operator为我的Card类,我写了一个,并且该错误消失了.

但是我应该怎么处理其余的错误呢?operators +, - and ++为一Card堂课写作是没有意义的.

c++ queue collections shuffle std

0
推荐指数
1
解决办法
2468
查看次数

将 2^31 分配给 float 或 double

我必须将整数值乘以 2^31。我用谷歌搜索了一下,看起来双打的范围在 2.23e-308 <= |X| 之间 使用 64 位时 <= 1.79e308,并且是 1.18e-38 <= |X| 之间的浮点数 <= 3.40e38。

这比我需要的要多得多。但这不起作用。

我的头文件中有这个常量值:

static const float SCALE_FACTOR = 2^-31;
Run Code Online (Sandbox Code Playgroud)

如果那么我就这样做:

float dummy = SCALE_FACTOR;
Run Code Online (Sandbox Code Playgroud)

那么,dummy 的值为 11。

我不知道问题是否在于分配这样的常量值,但我不知道如何在不损失精度的情况下编写它。

有什么帮助吗?

编辑:抱歉,愚蠢的问题。我的 MatLab 背景背叛了我,忘记了 ^ 在 C++ 中不是用于求幂。我已投票结束。

c++ floating-point double double-precision floating-point-precision

-1
推荐指数
1
解决办法
3254
查看次数