小编Cac*_*eli的帖子

如何在Java中迭代日期范围?

在我的脚本中,我需要在给定开始日期和结束日期的情况下,通过日期范围执行一组操作.
请为我提供使用Java实现此目的的指导.

for ( currentDate = starDate; currentDate < endDate; currentDate++) {

}
Run Code Online (Sandbox Code Playgroud)

我知道上面的代码根本不可能,但我这样做是为了向您展示我想要实现的目标.

java iteration date

131
推荐指数
8
解决办法
11万
查看次数

为什么HashMap值不在List中强制转换?

我将值放入形式的hashmap中,

Map<Long, Double> highLowValueMap=new HashMap<Long, Double>();
highLowValueMap.put(1l, 10.0);
highLowValueMap.put(2l, 20.0);
Run Code Online (Sandbox Code Playgroud)

我想用values()map方法创建一个列表.

List<Double> valuesToMatch=new ArrayList<>();
valuesToMatch=(List<Double>) highLowValueMap.values();
Run Code Online (Sandbox Code Playgroud)

要么

List<Double> valuesToMatch=(List<Double>) highLowValueMap.values();
Run Code Online (Sandbox Code Playgroud)

但是,它会引发异常:

线程"main"中的异常java.lang.ClassCastException:
java.util.HashMap $不能将值强制转换为java.util.List

但它允许我将其传递给列表的创建:

List<Double> valuesToMatch  = new ArrayList<Double>( highLowValueMap.values());
Run Code Online (Sandbox Code Playgroud)

java collections arraylist hashmap

69
推荐指数
4
解决办法
7万
查看次数

现代C++编译器是否能够在某些条件下避免两次调用const函数?

例如,如果我有这个代码:

class SomeDataProcessor
{
public:
    bool calc(const SomeData & d1, const SomeData & d2) const;
private:
    //Some non-mutable, non-static member variables
}

SomeDataProcessor sdp;
SomeData data1;
SomeData data2;

someObscureFunction(sdp.calc(data1, data2),
                    sdp.calc(data1, data2));
Run Code Online (Sandbox Code Playgroud)

让我们考虑可能等效的代码:

bool b = sdp.calc(data1, data2);
someObscureFunction(b,b);
Run Code Online (Sandbox Code Playgroud)

为了使其有效,该calc()函数应满足一些要求,对于该示例,我调用该属性_pure_const_formula_

A _pure_const_formula_会:

  • 不更改任何成员,静态或全局变量状态
  • 仅限通话_pure_const_formula_功能
  • 也许其他一些我没有想到的条件

例如,调用随机数生成器不符合这些要求.

是否允许编译器用第二个代码替换第一个代码,即使它需要递归地挖掘到被调用的函数中?现代编译器能够做到这一点吗?

c++ compiler-construction optimization call

37
推荐指数
3
解决办法
5061
查看次数

如何正确地将库与cmake链接?

我无法使用我正在使用的其他库来正确链接到我的项目中.

我正在使用CLion,它使用cmake来构建它的项目.我试图将几个库与OpenGL结合使用来构建一些对象.我最初在Visual Studio中构建它,因为我无法弄清楚如何让cmake与Clion一起工作.但是,现在代码全部工作(无论如何都在Visual Studio中),我希望能够使用CLion,因为这是我首选的IDE.

我还是cmake的新手,我不明白我的错误CMakeLists.txt.这是我有的:

cmake_minimum_required(VERSION 3.3)
project(texture_mapping)
find_package(OpenGL REQUIRED)
link_directories(${OPENGL_gl_LIBRARY})

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp camera.h display.h display.cpp mesh.cpp mesh.h obj_loader.cpp obj_loader.h shader.cpp shader.h stb_image.c stb_image.h texture.cpp texture.h transform.h)

link_directories(texture_mapping ${PROJECT_SOURCE_DIR}/lib)

add_executable(texture_mapping ${SOURCE_FILES})

target_include_directories(texture_mapping PUBLIC ${PROJECT_SOURCE_DIR}/include)
target_link_libraries(texture_mapping SDL2 SDL2main SDL2test glew32 glew32s ${OPENGL_gl_LIBRARY})
Run Code Online (Sandbox Code Playgroud)

我调整它直到它没有在CLion中给我任何更多的错误,但我的代码仍然无法识别头文件.

这是我的项目的结构:
项目结构

所以,我放了我需要的所有库,但它似乎没有在代码中识别它们.Clion在项目中识别它们(它们没有出现错误的红色),但是当它构建时(当我尝试在CLion中运行它时),我得到这些错误:

CMakeFiles\texture_mapping.dir/objects.a(mesh.cpp.obj): In function `ZN4MeshD2Ev':
...texture-mapping/mesh.cpp:30: undefined reference to `_imp____glewDeleteVertexArrays'
CMakeFiles\texture_mapping.dir/objects.a(mesh.cpp.obj): In function `ZN4Mesh8InitMeshERK12IndexedModel':
...texture-mapping/mesh.cpp:36: undefined reference to `_imp____glewGenVertexArrays'
...texture-mapping/mesh.cpp:37: undefined reference to `_imp____glewBindVertexArray'
...texture-mapping/mesh.cpp:39: undefined reference to `_imp____glewGenBuffers'
...texture-mapping/mesh.cpp:40: undefined reference …
Run Code Online (Sandbox Code Playgroud)

c++ opengl cmake undefined-reference

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

在Selenium WebDriver中的属性中使用XPath通配符

我想在我的属性中使用通配符.例如,这是我的常规XPath:

//input[@id='activation:j_idt84:voId:1']`
Run Code Online (Sandbox Code Playgroud)

我想j_idt用通配符替换数字,因为数字是动态的.我正在寻找这样的东西:

//input[@id='activation:*:voId:1']
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题.我的想法是否可能?

selenium xpath

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

java中的(Integer)y和new Integer(y)有什么区别?

以下是有什么区别的:

Integer in = (Integer)y;

Integer in = new Integer(y);

我想将int类型转换为Integer类型,反之亦然.这是我的代码:

public class CompareToDemo {

  public static void main(String[] args) {
    // Integer x=5;
    int y=25;

    System.out.println(y+" this is  int variable");

    Integer in = (Integer)y;

    //Integer in = new Integer(y);

    if(in instanceof Integer){
      System.out.println(in +" this is Integer variable");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

java autoboxing unboxing

14
推荐指数
2
解决办法
1489
查看次数

使用CLion中的freeglut在OpenGL中链接错误

所以,我使用freeglut尝试做一些openGL的东西,但我不断收到错误,说引用是未定义的:

CMakeFiles\texture_mapping.dir/objects.a(TextureMapper.cpp.obj): In function `ZN13TextureMapper4initEv':
.../TextureMapper.cpp:20: undefined reference to `glClearColor@16'
.../TextureMapper.cpp:23: undefined reference to `glMatrixMode@4'
.../TextureMapper.cpp:24: undefined reference to `glLoadIdentity@0'
.../TextureMapper.cpp:25: undefined reference to `glOrtho@48'
CMakeFiles\texture_mapping.dir/objects.a(TextureMapper.cpp.obj): In function `ZN13TextureMapper7displayEv':
.../TextureMapper.cpp:45: undefined reference to `glClear@4'
...TextureMapper.cpp:48: undefined reference to `glColor3f@12'
...TextureMapper.cpp:49: undefined reference to `glBegin@4'
...TextureMapper.cpp:52: undefined reference to `glVertex3f@12'
...TextureMapper.cpp:53: undefined reference to `glVertex3f@12'
...TextureMapper.cpp:54: undefined reference to `glVertex3f@12'
...TextureMapper.cpp:55: undefined reference to `glVertex3f@12'
...TextureMapper.cpp:58: undefined reference to `glEnd@0'
...TextureMapper.cpp:61: undefined reference to `glFlush@0'
Run Code Online (Sandbox Code Playgroud)

我正在使用MinGW和CLion来完成这个项目.我以为我得到了正确的一切.我将相应的文件移动到includeMinGW中的bin文件夹,以及文件夹和lib …

c++ opengl mingw cmake freeglut

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

如何使用Java 8流获取Map中最常用的单词以及相应的出现频率?

我有一个IndexEntry看起来像这样的课:

public class IndexEntry implements Comparable<IndexEntry>
{
    private String word;
    private int frequency;
    private int documentId;
    ...
    //Simple getters for all properties
    public int getFrequency()
    {
        return frequency;
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我将这个类的对象存储在Guava中SortedSetMultimap(每个键允许多个值),我将一个String单词映射到一些IndexEntrys.在幕后,它将每个单词映射到一个单词SortedSet<IndexEntry>.

我试图在文档中实现一种文档的单词索引结构及其出现频率.

我知道如何计算最常用的词,但我似乎无法得到这个词本身.

以下是我必须得到最常用词的计数,其中entriesSortedSetMultimap,与辅助方法一起:

public int mostFrequentWordFrequency()
{
    return entries
            .keySet()
            .stream()
            .map(this::totalFrequencyOfWord)
            .max(Comparator.naturalOrder()).orElse(0);
}

public int totalFrequencyOfWord(String word)
{
    return getEntriesOfWord(word)
            .stream()
            .mapToInt(IndexEntry::getFrequency)
            .sum();
}

public SortedSet<IndexEntry> getEntriesOfWord(String word)
{
    return entries.get(word); …
Run Code Online (Sandbox Code Playgroud)

java multimap java-8 java-stream

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

connectedAndroidtest mergeAndroidReports无效

我试图在两个不同的模块中运行两组不同的仪器测试.我的理解是,如果我将mergeAndroidReports命令添加到构建文件夹的根项目中的每个测试任务中,我应该看到一个测试报告,它结合了所有运行的测试.

此时,我看到每个模块中的测试报告以及在项目级构建文件夹中创建的空白测试报告.

它似乎正在设置空白报告以结合但实际上没有完成报告.有没有人使用该mergeAndroidReports命令遇到问题?

额外信息:

我将以下内容添加到项目级别build.gradle文件中:

apply plugin: 'android-reporting'
Run Code Online (Sandbox Code Playgroud)

再次没有错误,我确实看到在项目级别生成以下目录:

build/reports/androidTests/index.html
Run Code Online (Sandbox Code Playgroud)

但这是空的:此报告中没有添加任何内容.

有没有人遇到过这个问题?

android-gradle-plugin android-espresso

8
推荐指数
0
解决办法
431
查看次数

如何为matplotlib的drawgreatcircle函数设置动画?

我创建了一个小程序,使用NHL城市,然后绘制球队整个赛季的路线。

产生的图形混乱:

凌乱的图形

因此,我想到了一个有趣的想法,那就是如果我对飞行路线进行动画处理,就像在观看印第安纳·琼斯的电影一样,那条线从一个点延伸到另一个。

通过查看其他matplotlib示例,我的理解是,animation函数接受一个函数,计算其输出,然后更新图形。我不知道这怎么可能,drawgreatcircle因为每当我打电话给我时,我都会得到完整的一行。

关于如何解决这个问题的任何想法吗?

这是下面示例代码中的示例图像

样本图片

import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

fig = plt.figure(figsize=(10, 10))
m = Basemap(projection='merc', resolution=None,
                    llcrnrlon=-125, llcrnrlat=25, # LL = lower left
                    urcrnrlon=-60, urcrnrlat=55) #UR = upper right 
m.etopo(scale=0.5, alpha=0.5)


# Ottawa to Anaheim
# Ottawa
lat1 = 45.4215
lon1 = -75.6972

# Anaheim
lat2 = 33.8353
lon2 = -117.9145

m.drawgreatcircle(lon1,lat1,lon2,lat2)
Run Code Online (Sandbox Code Playgroud)

python animation matplotlib matplotlib-basemap

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