我正在写一个基于John Conway的生命游戏的程序.我得到它编译,甚至在经过几天不间断的工作后运行.但是,打印出来的结果是错误的......
这是我的代码(不包括主要方法)
//clears the grid
public static void clearGrid ( boolean[][] grid )
{
for(int row = 0; row < 18; row++){
for(int col = 0; col < 18; col++){
grid[row][col]= false;
}
}
//set all index in array to false
}
//generate the next generation
public static void genNextGrid ( boolean[][] grid )
{
int n; //number of neighbors
boolean[][] TempGrid = grid;// a temporary array
for(int row = 0; row < 18; row++)
{
for(int col = …Run Code Online (Sandbox Code Playgroud) 我编写了一个perl脚本,在其中调用子例程将字段插入数据库表.子例程在另一个文件Test.pm中调用,而不是主perl文件Test.pl. 在Test.pm中,我有以下字段要插入表中
my $date = localtime->strftime('%Y-%m-%d %H:%M:%S');
my $time = localtime->strftime('%H:%M:%S');
Run Code Online (Sandbox Code Playgroud)
但是,在这里我得到以下错误
Can't locate object method "strftime" via package
Run Code Online (Sandbox Code Playgroud)
这是什么错误,为什么会发生这种错误.如果我传递$date和$time来自的参数Test.pl,脚本工作正常,我该如何解决?
以下是子程序:
sub send_message
{
my $date = localtime->strftime('%Y-%m-%d %H:%M:%S');
my $time = localtime->strftime('%H:%M:%S');
print "Date : $date Time : $time";
my $sql1 = "Insert into testtable(time,date) values('$time','$date')";
my $sth1 = $dbh->prepare($sql1);
$sth1->execute
or die "SQL Error: $DBI::errstr\n";
return;
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个名为数字的数组,它将存储斐波纳契数列的值.1,2,3,5等问题是当我尝试以非常高的索引值调用数组值时,数组值变为负数.
numbers[10] = 144
Run Code Online (Sandbox Code Playgroud)
这是合理的但是
numbers[9999998] = -1448735941
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
public static void main(String[] args) {
int[] numbers = new int[10000000];
numbers[0] = 1;
numbers[1] = 2;
for(int x = 2; x<=numbers.length-1; x++)
{
numbers[x] = numbers[x-1] + numbers[x-2];
}
System.out.println(numbers[9999998]);
System.out.println(numbers[10]);
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Java中实现BFS和DFS作为通用算法.我正在编写一种方法getComplexity(),将算法的最坏情况复杂性作为字符串返回.在DFS(和BFS)中,图中的每个节点只能访问一次.在最坏的情况下,每个节点只访问一次.因此,为什么这些算法的复杂性为O(V + E)而不是O(V)?这里V是节点(或顶点)的数量,E是边数.
我有一个名为receive with 4 column的表:
id, date, volume, volume_units
Run Code Online (Sandbox Code Playgroud)
音量单位始终存储为"Lbs"或"Gals"的值.
我正在尝试编写SQL查询以获取特定日期范围内Lbs和Gals的卷总和.类似的东西:(这不起作用)
SELECT sum(p1.volume) as lbs,
p1.volume_units,
sum(p2.volume) as gals,
p2.volume_units
FROM receiving as p1, receiving as p2
where p1.volume_units = 'Lbs'
and p2.volume_units = 'Gals'
and p1.date between "2012-01-01" and "2012-03-07"
and p2.date between "2012-01-01" and "2012-03-07"
Run Code Online (Sandbox Code Playgroud)
当我单独运行这些查询时,结果就会消失.我知道连接在这里是错误的,但我不知道我做错了什么来解决它.
在尝试比较数据类型'int'和'long'的性能时,我遇到了这个奇怪的问题,基本上我有两个单元测试:
@Test
public void testLongOperationPerformance(){
StopWatch sw = new StopWatch();
sw.start();
long count = 0l;
for(int i = 0; i < Integer.MAX_VALUE; i ++){
count++;
}
sw.stop();
System.out.println(count);
System.out.println(sw.elaspedTimeInMilliSeconds());
}
@Test
public void testIntegerOperationPerformance(){
StopWatch sw = new StopWatch();
sw.start();
int count = 0;
for(int i = 0; i < Integer.MAX_VALUE; i ++){
count++;
}
sw.stop();
System.out.println(count);
System.out.println(sw.elaspedTimeInMilliSeconds());
}
Run Code Online (Sandbox Code Playgroud)
这两个单元测试正在做同样的事情,不同的是一个使用int作为计数器的数据类型,另一个使用long.结果:
jdk6u32 (64 bit):
test with long
2147483635
96
test with int
2147483647
2
jdk7 (64 bit)
test with long
2147483647 …Run Code Online (Sandbox Code Playgroud) 我有这个更大代码的片段;
public PizzaOrder(PizzaOrder PizzaOrderCopy)
{
this.pizza1 = PizzaOrderCopy.pizza1;
}
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
PizzaOrder pizzorder = new PizzaOrder();
pizzorder.setNumPizza(1);
pizzorder.setPizza1("small",1,1,1);
pizzorder.setPizza2("medium",3,6,4);
pizzorder.setPizza3("large",2,4,4);
pizzorder.getpizza1info();
pizzorder.getpizza2info();
pizzorder.getpizza3info();
pizzorder.calcTotal();
}
// TODO Auto-generated method stub
}
Run Code Online (Sandbox Code Playgroud)
我正在制作一个复制构造函数PizzaOrderCopy并制作PizzaOrders对象Pizza1 的副本.当我构建我的代码
PizzaOrdre pizzaorder = new PizzaOrder();
Run Code Online (Sandbox Code Playgroud)
spa出来了
the constructor PizzaOrder is undefined
Run Code Online (Sandbox Code Playgroud)
因为它现在需要一个参数.
我怎么看(最可能是错的)PizzaOrder Copy是一个副本,Pizzaorder是一个副本.所以我想知道为什么他们互相影响?我能想到的唯一解释是它们以某种方式结合在一起.
我有3个表看起来像这样:
Table1:
PersonSSN
NumberOfCars
Table2:
PersonSSN
NumberOfPhones
Table3:
PersonName
PersonSSN
Run Code Online (Sandbox Code Playgroud)
表1和表2都有对PersonSSN上的表3的外键引用.
我需要以这样的方式加入这些:PersonName NumberOfPhones NumberOfCars
以下是适用于联接的一些条件:
这可以在一个查询中实现吗?如果是,查询应该是什么?
我在我的脚本中使用"=〜"来比较两个字符串(两个字符串的长度是相同的.)以允许不关心条件.如果一个角色是"." 在字符串中,忽略该字符进行比较.换句话说,它是部分匹配的情况.
comp_test.pl:
#!/usr/bin/perl
use strict;
use warnings;
my $a=".0.0..0..1...0..........0...0......010.1..........";
my $b="10.0..0..1...0..........0...0......010.1..........";
my $c=".0.0..0..1...0..........0...0......010.1..........";
if ($a =~ $b) {
print "a and b same\n";
}
if ($a =~ $c) {
print "a and c same\n";
}
Run Code Online (Sandbox Code Playgroud)
由于"."不关心条件,预期结果应该是"a和b相同"和"a和c相同".但是,目前,结果只是"a和c相同".请告诉我任何好的操作员或更改"." "x"可能有帮助吗?
我有一个返回与准备好的语句相关联的结果集的函数。我正在finally块中关闭准备好的语句。它会自动关闭我需要返回的结果集。有什么替代方法吗?我的代码看起来像这样
Resultset fnName(){
Resultset rs = null;
PreparedStatement ps = new PreparedStatement();
try{
rs = ps.execute(<query string>);
}
catch(...){...}
finally{
ps.close().
}
return rs;
}
Run Code Online (Sandbox Code Playgroud)