小编sro*_*ock的帖子

给定列表1,4,5,9,2编写程序以找到两个值的可能组合,其中sum = 6

给定数组a = [1,4,5,9,2].我需要找到/打印两个值的组合,其中sum = 6.

我的代码如下:(它是O(n ^ 2)并且效率不高).更好的解决方案 -

for(int out=0;out<a.length-1;out++)
{
    for(int in=out+1;in<N;in++)
    {
    if(a[out]+a[in]==6)
    { 
    System.out.println("The 2 numbers are: "+ a[out] +", "+ a[in]);
    }
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays

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

使用JPQL createQuery时返回旧数据

使用JPA/Eclipse TopLink.

我正在更新一个表(使用createNativeQuery),如下所示:

Query query = em.createNativeQuery("UPDATE Products SET productName='" + p.getProductName() + "',productVendor='" + p.getProductVendor() + "',productDescription='" + p.getProductDescription() + "',quantityInStock=" + p.getQuantityInStock() + ",buyPrice =" + p.getBuyPrice() + ",msrp=" + p.getMsrp() + " WHERE productCode='" + p.getProductCode() + "'");
query.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

更新反映在DB(MySQL)中

用于检索(使用createQuery),如下所示:

Query query1 = em.createQuery("SELECT p from Products p where p.productCode='"+searchTerm+"'");
return query1.getResultList();
Run Code Online (Sandbox Code Playgroud)

但是,返回的ResultList始终是更新前的数据.但是当我使用createNativeQuery而不是createQuery时,会返回最新的更新数据.createQuery方法可能出现的错误是什么?

jpa toplink jpql

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

struct的内存地址不可见

在Go中,我很困惑为什么可以获得像int这样的变量的内存地址而不是结构的内存地址.举个例子:

package main

import "fmt"

func main() {
stud1 := stud{"name1", "school1"}
a:=10
fmt.Println("&a is:", &a)
fmt.Println("&stud1 is:",&stud1)
}
Run Code Online (Sandbox Code Playgroud)

输出是:

&a is: 0x20818a220
&stud1 is: &{name1 school1}
Run Code Online (Sandbox Code Playgroud)

为什么&给出了内存地址,但是&stud1没有给出确切的内存位置.我没有任何使用内存地址的意图,只是对不同的行为感到好奇.

go

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

高朗的生产者消费者

尝试运行以下代码(生产者和使用者)以了解golang中的goroutine和通道(从下面的代码片段中删除了包和导入):

var done = make(chan bool)
var msgs = make(chan int)

func produce() {
    for i := 0; i < 10; i++ {
            msgs <- i
    }
    fmt.Println("Before closing channel")
    close(msgs)
    fmt.Println("Before passing true to done")
    done <- true
}

func consume() {
    for {
            msg := <-msgs
            time.Sleep(100 * time.Millisecond)
            fmt.Println("Consumer: ", msg)
    }
}

func main() {
    go produce()
    go consume()
    <-done
    fmt.Println("After calling DONE")
}
Run Code Online (Sandbox Code Playgroud)

源代码来自:http : //www.golangpatterns.info/concurrency/producer-consumer

下面是我运行代码时的输出

Consumer:  0
Consumer:  1
Consumer:  2
Consumer: …
Run Code Online (Sandbox Code Playgroud)

go goroutine

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

根据下拉列表选择输入文本验证

如何根据下拉列表中的选项验证输入文本框?

validation jsf-2

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

使用reg exp检查测试字符串是否为固定格式

我想确保使用正则表达式确保字符串格式为“ 999.999-A9-Won”,并且没有任何空格,制表符或换行符。

  1. 0到9范围内可能有2或3个数字。
  2. 后面加句号“。”
  3. 再次跟上2或3个数字,范围为0-9
  4. 后跟连字符,字符“ A”和0-9之间的数字。
  5. 随后可以执行任何操作。

示例:87.98-A8-abcdef

到目前为止,我提出的代码是:

testString = "87.98-A1-help"
regCompiled = re.compile('^[0-9][0-9][.][0-9][0-9][-A][0-9][-]*');
checkMatch = re.match(regCompiled, testString);
if checkMatch:
    print ("FOUND")
else:
    print("Not Found")
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用。我不确定我缺少什么,这里的问题是我不检查空格,制表符和换行符,也不对十进制前后的整数进行硬编码。

python regex

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

ReentrantReadWriteLock(java) - 在读锁内嵌套写锁

在下面的代码片段中,它是否会导致死锁?

public class TestLocks {

ReadWriteLock lock = new ReentrantReadWriteLock();
public void add() {
    lock.readLock().lock();
    //code.....

    lock.writeLock().lock();
    //code
    lock.writeLock().unlock();

    //code....
    l.readLock().unlock();
}
Run Code Online (Sandbox Code Playgroud)

我上面所做的是使用ReentrantReadWriteLock,锁定'lock'进行读取,然后在其中再次尝试获取写入锁(在释放readLock之前).这可能永远不会在生产中完成,但很想知道上面的代码是否会导致死锁?

java concurrency multithreading

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

为什么主线程在等待

在下面的代码中,为什么主线程要等到子线程完成.

Driver.java

public class Driver {
public static void main(String[] args) throws InterruptedException {
    Thread t = new Thread(new ThreadRunner());
    t.start();
}
}
Run Code Online (Sandbox Code Playgroud)

ThreadRunner.java

public class ThreadRunner implements Runnable {
@Override
public void run() {
    for (int i = 0; i < 10; i++) {
        System.out.println("Child thread" + i);
    }
}
}
Run Code Online (Sandbox Code Playgroud)

调用't.start()之后在Driver类中这个程序不应该退出吗?我没有使用join,但主线程仍在等待新旋转的'ThreadRunner'运行.是因为在java中主线程(由main方法启动)总是等待所有线程关闭?

java multithreading

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

标签 统计

java ×3

go ×2

multithreading ×2

arrays ×1

concurrency ×1

goroutine ×1

jpa ×1

jpql ×1

jsf-2 ×1

python ×1

regex ×1

toplink ×1

validation ×1