小编rol*_*lfl的帖子

约会和日期异常

以下两个逻辑条件之间有什么区别(CreationDate值都是DateTime)?

   and abs(datediff(hour, a.CreationDate, e.CreationDate)) < 12
Run Code Online (Sandbox Code Playgroud)

和:

   and e.CreationDate > dateadd(hour, -12, a.CreationDate)
   and e.CreationDate < dateadd(hour,  12, a.CreationDate)
Run Code Online (Sandbox Code Playgroud)

(是的,存在差异 - 变化产生不同的结果,但我看不清楚)

背景

Meta.se最近提出了一个关于"策展人"徽章以及12小时编辑窗口的问题.这个问题激发了我制作我之前编写的SQL查询的副本,并使新副本"可变"大小的编辑窗口,而不是每边12小时.本质上,我更改了以下代码:

   and abs(datediff(hour, a.CreationDate, e.CreationDate)) < 12
Run Code Online (Sandbox Code Playgroud)

成为:

   and e.CreationDate > dateadd(hour, -12, a.CreationDate)
   and e.CreationDate < dateadd(hour,  12, a.CreationDate)
Run Code Online (Sandbox Code Playgroud)

(除了第二个语句中的12个值是变量).

这两个查询位于Stack Exchange Data Explorer中:原始复制

查询会产生稍微不同的结果,但是......我真的为此感到头疼.我也无法确定哪个查询结果是正确的.我相信它必须归结为日期逻辑中的某些东西......它是"圆形"小时还是某种东西,所以它的结果会略微减少?

则DateDiff:

在此输入图像描述

使用DateAdd:

在此输入图像描述

t-sql sql-server sede

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

排除正则表达式bash脚本

我想在某些用户名上找到lastlogin.我想排除以qwer*和root开头的任何内容,但保留user.name的任何内容

这是我已经拥有的,但正则表达式的最后一部分不起作用.任何帮助赞赏.

lastlog | egrep '[a-zA-Z]\.[a-zA-Z]|[^qwer*][^root]'
Run Code Online (Sandbox Code Playgroud)

regex grep

5
推荐指数
2
解决办法
9020
查看次数

Prolog效率:事实统一还是列表成员?

鉴于以下事实:

pos(a,1).
pos(b,2).
pos(c,3).
Run Code Online (Sandbox Code Playgroud)

我想找到一个角色的位置.例如,pos(b,P)P = 2.

将这些事实转换为列表并进行成员资格检查是否更好,如下所示:

member(X/P,[a/1,b/2,c/3])
Run Code Online (Sandbox Code Playgroud)

我认为第一种选择更好,但任何人都可以解释每种方法的优缺点吗?

注意,这只是一个简单的例子.我会有很多事实,例如100-1000,并且必须多次检查,例如100k +.

prolog

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

如何通过Java拼贴读取TIFF文件?

假设我有一个非常大的TIFF图像作为输入.由于我必须遵守的内存规范,我无法完全加载此图像.所以以下不是一个选项:

BufferedImage data = ImageIO.read(image);
Run Code Online (Sandbox Code Playgroud)

是否有任何Java库允许读取图像的特定部分而不缓冲整个图像?或者从流中获取TIFF图块的一些方法?

java tiff jai java-io

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

gob解码结构中的接口与原始接口之间的区别

当该类型嵌入到结构中时,我一直在努力理解编码/解码接口类型与完全没有嵌入时的区别.

使用以下示例:在操场上

注意代码声明了一个接口IFace.它声明了一个非导出的结构impl.它设置了一些采空区的方法Register,GobEncode以及GobDecodeimpl结构.

然后,它还声明了一个Data导出的结构,并且具有一个Foo接口类型的单个字段IFace.

所以,有一个接口,一个实现它的结构,以及一个容器结构,它有一个字段,其值是接口类型.

我的问题是容器结构Data很愉快地通过Gob gauntlet发送,当它通过时,它很高兴地对Data结构中的IFace字段进行编码和解码......太棒了!但是,我似乎无法通过gob gaunt只发送一个IFace值的实例.

我错过了什么神奇的召唤?

搜索错误消息会给出一些结果,但我相信我已经满足了Gob合同......而且"证明"就是成功的结构化.显然我错过了一些东西,却看不到它.

注意,程序的输出是:

Encoding {IFace:bilbo} now
Encoding IFace:baggins now
Decoded {IFace:bilbo} now
decode error: gob: local interface type *main.IFace can only be decoded from remote interface type; received concrete type impl
Decoded <nil> now
Run Code Online (Sandbox Code Playgroud)

实际代码是:

package main

import (
    "bytes"
    "encoding/gob"
    "fmt"
)

type IFace interface {
    FooBar() string …
Run Code Online (Sandbox Code Playgroud)

go gob

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

使用Schema.org进行html5微数据标记

我正在一个基督教教堂的网站上工作.它有一个包含日程表和家庭教会列表的页面,我想用Schema.org微数据进行标记.事情是我找不到合适的类型来描述这些项目.对于时间表我决定去http://Schema.org/Event类型,但我需要添加联系人姓名和电话,但我可以使用哪个属性的事件?我使用了"表演者"的属性,但事实并非如此......

<div itemscope="" itemtype="http://schema.org/Event">
    <span class="time"><time itemprop="startDate" datetime="2012-07-02T19:00:00">19:00</time></span>
    <h2 class="colored" itemprop="name">Worship Group</h2>
    <strong>Address:</strong> <a href="http://www.example.com" target="_blank" class="dashed" title="See on the map"><span itemprop="location">St. Patric 42</span></a>
    <br><strong>Contacts:</strong>
    <span itemprop="performer" itemscope="" itemtype="http://schema.org/Person">
    <span itemprop="telephone">8-422-212-5532</span> (<span itemprop="name">John Parker</span>)</span>
    <span itemprop="description">We want to worhip God together</span>
</div>
Run Code Online (Sandbox Code Playgroud)

至于一个家庭教会 - 它是一个组织和事件之间的东西 - 它是一群信徒在某个时间聚集在一个地方.我决定去http://schema.org/Organization,将ContactPoint添加为教会领导联系人信息.但是我如何标记开始时间?

有没有办法组合实体类型,以便我可以描述我拥有的所有重要属性?

html5 microdata schema.org

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

调用构造函数时的NPE

我有以下java类(实现页面对象模式)

package core.pageObjects;

import org.openqa.selenium.*;

public class ConsultaClientePorDocumento {

    private WebDriver driver;

    public ConsultaClientePorDocumento(WebDriver d){
        this.driver = d;
    }

    public WebElement cancelarButton = driver.findElement(By.id("Cancelar"));
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试在我的测试中使用它,如下所示:

import core.pageObjects.*;

ConsultaClientePorDocumento consultaCPD = new ConsultaClientePorDocumento(driver);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

java.lang.NullPointerException
at core.pageObjects.ConsultaClientePorDocumento.<init>(ConsultaClientePorDocumento.java:16)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

java selenium pageobjects

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

如何让 Maven 为同一个项目生成两个 jar?

我担心答案可能是“拆分项目”,但这里是......

我有一个项目,现在需要输出没有log4j.xml 配置的 jar 文件版本。我想如果我能有双重输出那就太好了:一个带有 log4j.xml 的 jar 和一个没有 log4j.xml 的重复 jar。我不想将项目拆分为一个文件。我已经尝试过 Assembly 插件,但我认为我还没有找到正确的配置。

maven

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

java.lang.IndexOutOfBoundsException:Index:xx,Size:xx

我正在使用逗号分隔符加载.csv文件,使用jdom解析器分割数据并插入数据库.

但不知何故,我已经提到这个错误..csv文件包含超过200k的记录.

当它读到大约4000条记录时,程序就抛出了这个错误.index和size是相同的值,但在此之前,所有记录都可以成功插入.只是想知道它为什么直到差不多4k才发现这个错误.

这是我的for循环:

for(int x = 0; x < FLODS.getBufferSize(); x++)
Run Code Online (Sandbox Code Playgroud)

但是我在互联网上进行了搜索:他们认为这种方法很有用.

for(int x = 0; x < FLODS.getBufferSize()-1; x++)
Run Code Online (Sandbox Code Playgroud)

任何的想法?谢谢 :)

java

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

找不到符号:Thread.sleep(1000);

我想使用该Runnable接口实现线程.

我有以下三个类:

FirstThread.java

public class FirstThread implements Runnable
{  

  //This method will be executed when this thread is executed  
  public void run()    
  {                

    //Looping from 1 to 10 to display numbers from 1 to 10     
    for ( int i=1; i<=10; i++)      
    {          
        //Displaying the numbers from this thread          
        System.out.println( "Messag from First Thread : " +i);                     

       /*taking a delay of one second before displaying next number              
        *            
        * "Thread.sleep(1000);" - when this statement is executed,           
        * this thread …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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

为什么我的"While Loop"计算和打印出一个简单的3N + 1等式?

所以我不得不写一个简单的代码来计算3N + 1方程; 其中N是用户输入的整数,如果是N = N/2的正整数,并且如果是N = N*3 + 1的负整数.

但是根据我的理解,我的代码在第一个while循环后不起作用,因此不打印任何内容.我究竟做错了什么?编程和学习的新手,所以我感谢你的帮助:)

码:

import java.util.Scanner; 
public class ThreeNplusOneProgram {

    public static void main(String[] args) {

        int N; Scanner input = new Scanner(System.in); int counter; 

        System.out.println("Please Enter an integer: ");
        N = input.nextInt();

        while ( N <= 0 ) {
            System.out.println("ERROR: Please Enter an integer greater than zero: ");
            N = input.nextInt();
        }

        //So far we know that N is great than Zero

        System.out.println(N);
        counter = 1;
        while ( N != …
Run Code Online (Sandbox Code Playgroud)

java loops while-loop date-arithmetic system.out

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

使用JDOM修改XML

我正在尝试使用JDOM修改XML文档,问题是不会更改文件中的任何内容.

我一直在网上搜索文件,在任何网站上都解释了如何保存文件.

我希望你能告诉我我做错了什么,或者是否有其他办法.

方法代码是:

public void ocuparPlazaParking(){

        //Se crea un SAXBuilder para poder parsear el archivo
        SAXBuilder builder = new SAXBuilder();
        File xmlFile = new File( "C:/Users/Alejandro/Parking/parking.xml");

        try
        {       
            Document document = (Document) builder.build( xmlFile );

            //Se obtiene la raiz 'parking'
            Element elementoParking = document.getRootElement();


            //Obtengo las plantas
            List listadePlantas =  elementoParking.getChildren( "planta" );
            for ( int i=0; i < listadePlantas.size(); i++ ){

                Element elementoPlanta = (Element) listadePlantas.get(i);       

                //Obtengo las filas
                List listadeFilas =  elementoPlanta.getChildren( "fila" );
                for ( int …
Run Code Online (Sandbox Code Playgroud)

java xml dtd jdom-2

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

使用Java正则表达式找到BUG

我们似乎发现了java正则表达式的错误.

我们正在尝试匹配在一行中出现两次的不同月份模式或仅出现在一行中的两年模式.

但java似乎把部分空间与空间分隔符混为一谈. 我向我的教授展示了这个问题,我们无法解决.

具体而言,我们想要匹配"1/2013 - 2014年1月",以及"2013 - 2014".会发生的是,在2013年,我们得到0来匹配月份和年份之间的分隔符,即使0不在分隔符模式中.所以我们最终获得与2/13相同的结果.这是代码

    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.GregorianCalendar;
    import java.util.HashMap;
    import java.util.concurrent.CountDownLatch;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    import org.w3c.dom.css.Counter;

    public class DatePattens {
        //private ArrayList<MatchedDateObject> arryLstOfDates = new ArrayList<MatchedDateObject>();
        private ArrayList<String> matchedString = new ArrayList<String>();
        private HashMap<String,Integer> map ;


        private String monthPattern = "((0[1-9]|1[012]|[1-9])|(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sept|Sep|Oct|Nov|Dec)[a-z]*)";  // 3 groups
        private String monthAndYearSeperator="\\s*(\\s*|,|;|~|--|-|.|\\/)\\s*";      // 1 group
        private String twoOrFourDigitYearPattern="(19[0-9]{2}|[2-9][0-9]{3}|[0-9]{2})\\s*";         // 1 group  
        private String presentPattern = "(Current|Present|Now|Currently|Presently|Till Date|Todate|Today)";
        private String twoDatesSeperator = "\\s*(\\s*|-|~|--|,|to|til|till|until)\\s*";    // …
Run Code Online (Sandbox Code Playgroud)

java regex

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