我有一张桌子:
Employee (employeeID)
EmployeeRank (rankID, employeeID)
Run Code Online (Sandbox Code Playgroud)
现在我有另一张桌子,所有员工都会加薪.
DueForRaise (rankID, employeeID)
Run Code Online (Sandbox Code Playgroud)
我必须将DUeForRaise中的所有员工插入到EmployeeRank表中,如果他们还没有相同的等级.
我正在为粒子rankID @rankID做这个更新.
这会有用吗?
INSERT EmployeeRank ( rankID, employeeID)
SELECT rankID, employeeID
FROM DueForRaise dfr
OUTER JOIN EmployeeRank er er.employeeid = dfr.employeeid)
WHERE dfr.rankID = @rankID
Run Code Online (Sandbox Code Playgroud) 有可能将这个java代码片段转换为php吗?
public void testBalanceReturnsToZeroOnVending()
{
sodaVendor.insertCoin(50);
sodaVendor.insertCoin(20);
sodaVendor.insertCoin(5);
// The price is right!
assertEquals("We have entered correct money",
SODA_PRICE,
sodaVendor.getCurrentBalance());
sodaVendor.dispenseItem();
assertEquals("After vending, the balance of soda vending machine is zero",
0,
sodaVendor.getCurrentBalance());
}
Run Code Online (Sandbox Code Playgroud) 我是IOC容器的新手,我开始使用NInject.
如果您希望构造函数具有非服务且不需要由IOC容器实例化的参数,您会怎么做?
例如:
public class Person
{
private readonly string _name;
private readonly IPersonRepository _repository;
public Person(string name, IPersonRepository repository)
{
_name = name;
_repository = repository;
}
......
}
Run Code Online (Sandbox Code Playgroud)
想象一下,name是Person类的要求,因此,为了确保Person始终具有名称,我们要求将其传递给构造函数.
我们如何使用NInject获取Person的实例?该名称需要通过应用程序创建新Person的任何位来传入,而IOC容器需要传入IPersonRepository.
我知道可以使用属性注入名称或存储库,但这不是一个干净的解决方案 - 我们正在失去一些编程语言的语义能力.
我已经阅读了函数的文档,例如返回和使用多个值的值和定义值.我明白他们做了什么.当你想要使用这样的东西时,我不清楚.
什么时候构建单个值列表并使用单个值列表而不是/不可能?
#include<iostream>
using namespace std;
struct sample
{
int data[3][2];
};
struct sample* function()
{
struct sample s;
int c=1;
for(int i=0;i<3;i++)
for(int j=0;j<2;j++)
s.data[i][j]=c++;
cout<<"Matrix contents are ";
for(int i=0;i<3;i++)
{
for(int j=0;j<2;j++)
cout<<s.data[i][j])<<"\t";
cout<<"\n";
}
return &s;
}
int main()
{
struct sample *ss;
ss=function();
cout<<"Matrix contents are ";
for(int i=0;i<3;i++)
{
for(int j=0;j<2;j++)
cout<<ss->data[i][j]))<<"\t";
cout<<"\n";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这里有什么错误?当我在该功能中显示内容时它正在输出,但是当我尝试在该功能之外显示内容时它显示垃圾.怎么了?
这种通用库方法的最佳实现是什么?
public static <K, V> boolean containsEntry(
Map<K, V> map, K key, V value) {}
Run Code Online (Sandbox Code Playgroud)
与大多数编码难题一样,判断此谜题的标准依次为:
编辑:
好吧,既然关闭了,我不妨发布答案.我认为这可能是最佳的:
V valueForKey = map.get(key);
return (valueForKey == null)
? value == null && map.containsKey(key)
: valueForKey.equals(value);
Run Code Online (Sandbox Code Playgroud)
一个聪明的简单解决方案是:
return map.entrySet().contains(
new AbstractMap.SimpleImmutableEntry<K, V>(key, value));
Run Code Online (Sandbox Code Playgroud)
它确实分配了一个实例,但它为地图实现提供了更多机会来做一些最佳的事情.
有没有办法将矢量转换为指针指针(ptr-to-ptr).
背景:我有一个存储在向量中的任意长度的数据集.但我有一个接受ptr-to-ptr(用于图像阵列访问)的算法库.我需要从我的向量中获取数据到ptr-to-ptr.怎么可能?
我最近遇到了一个奇怪但有趣的问题.问题如下:需要编写一个程序,可以根据名称将性别作为输出.示例:INPUT - > John Michael Britney OUTPUT - >男性男性女性
所以这是我期望的输出.我尝试了很多东西来解决,但我真的无法破解它.我将非常感谢这个网站让我有机会分享这个问题.
实际上这在编程竞赛中被问为传单问题,所以我认为这可以编程.
char *s = "hello ppl.";
for (i = 0; i < strlen(s); i++) {
char c = s[i];
if (c >= 97 && c <= 122) {
c += 2;
s[i] = c;
}
}
Run Code Online (Sandbox Code Playgroud)
我想将字符串旋转两个字符: "hello ppl." -> "jgnnq rrn."
我得到了一个segmentation fault.代码有什么问题?
我知道另一个非常相似的问题,但由于某种原因,我仍然遇到问题.
我有一个GC日志,我正试图删除随附的Tenured部分[].
63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546: [Tenured: 1416K->1065K(1536K), 0.0492621 secs] 1922K->1065K(2112K), 0.0513331 secs]
Run Code Online (Sandbox Code Playgroud)
我申请 s/\[Tenured:.*\]//
并且非常期待,结果在整个线路的剩余部分贪婪地修剪:
63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546:
Run Code Online (Sandbox Code Playgroud)
所以,让我们尝试非贪婪不匹配右边括号,s/\[Tenured:[^\]]*\]//但唉没有匹配,sed跳过线,产生相同的原始输出:
63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546: [Tenured: 1416K->1065K(1536K), 0.0492621 secs] 1922K->1065K(2112K), 0.0513331 secs]
Run Code Online (Sandbox Code Playgroud)
我如何非贪婪地匹配和替换该部分?谢谢,