int chance = -5;
int rand = arc4random() % 100; // Number from 0 to 99
if (rand <= chance) { // This will never happen
NSLog(@"This is... NOT POSSIBLE");
}
Run Code Online (Sandbox Code Playgroud)
实际上,这种情况从未发生过.但
int chance = -5;
if (arc4random() % 100 <= chance) {
NSLog(@"This is... NOT POSSIBLE");
}
Run Code Online (Sandbox Code Playgroud)
这里,我将随机数表达式直接放在条件中,而不是将其存储在变量中.并且条件得以实现(有时).
这是为什么?我该如何调试此行为?
我想要一个抽象类A.
然后我想要一个B只能被实例化的类A.没有其他人可以访问B- 只A.
然后我想要A一个返回实例的方法B.
我的尝试:
public abstract class A {
public static B getInstanceOfB() {
return new B();
}
private class B {
}
}
Run Code Online (Sandbox Code Playgroud)
这当然不起作用.我怎样才能做到这一点?
我肯定错过了什么:
public class Test {
public static void main(String[] args) {
(new Thread(new Action())).run();
System.out.println("Blah");
}
}
class Action implements Runnable {
public void run() {
while (true) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个应该运行循环的线程.
在我的主线程中,我打印"Blah".
但是,它从未打印过.为什么不?如果我创建了一个单独的线程,它不应该影响我的主执行线程,对吧?
这台机器有四个核心.
这很难解释,但显示一段Ruby代码很简单:
有两个实现方法的模块:
module Foo
def one
print "ONE!"
end
end
module Bar
def two
print "TWO!"
end
end
Run Code Online (Sandbox Code Playgroud)
有一个包含它们的类:
class Test
include Foo
include Bar
end
Run Code Online (Sandbox Code Playgroud)
现在你的班级Test可以调用这两种方法.
据我所知,Java中没有这样的东西.关闭的概念是:
多重继承
这不受Java支持.
接口
他们是方法合同 - 没有实施.你的类Test需要实现方法本身,这就是我想要避免的.只是为了不写两次相同的代码(我有其他几个类,其中一些也可能想要实现这些方法).
抽象类
我仍然需要同时从两个类继承.
那么推荐的解决方案是什么?
public class App {
public static void main(String[] args) {
Process p = Runtime.getRuntime().exec("java -jar someOtherProgram.jar");
}
}
Run Code Online (Sandbox Code Playgroud)
这有效地运行了我的其他程序.但是,该程序(App)没有关闭.它仍然在运行(我可以告诉它,因为它不会让我在Eclipse中杀死它).关闭此程序的唯一方法是杀死对应的进程someOtherProgram.jar.
我想要的是我的程序App运行另一个Java程序.然后杀了自己.
据我所知,用texturetool制作的PVR纹理只是压缩图像.因此,差异在于文件大小.
坦率地说,文件大小对我不感兴趣.我想知道的是,PVR纹理能否比普通的.PNG纹理消耗更少的RAM?或者这完全取决于纹理格式(如RGBA8888等)?
关键问题是:
给定X.png和X.pvr,如果我用纹理格式显示两者,那么RGBA8888一个消耗的RAM会比另一个少吗?
我想要一个HashMap按照我添加它们的方式订购钥匙的地方.
所以我正在使用LinkedHashMap.它具有可预测的迭代顺序.
如果使用put,插入的键将位于地图键集的末尾.
是否可以使用put,将键/对对插入特定位置?例如,我想put索引一些东西2,有效地使这对在迭代时成为第三个条目.
我正在使用http://wiki.unity3d.com/index.php/SimpleJSON中的SimpleJSON脚本
JSONNode root = JSON.Parse ("{ \"Name\" : \"Joe\"}");
Debug.Log (root ["Name"].ToString().Length);
Run Code Online (Sandbox Code Playgroud)
这返回5而不是3.这是因为root ["Name"]返回一个字面上的字符串"Joe"(包括引号,所以这是5个字符).
但这并不是我想要的 - 我在那里放置了引号,因为它是解析器工作的唯一方式.
当然我可以通过取出一个子串来手动删除引号,但我觉得这不是它应该如何进行.所以我的问题是:如何Joe使用此脚本检索没有引号的字符串?
Connection从池中获取(这可能会引发异常)Statement连接(也可能抛出异常)ResultSet(也可以抛出)中ResultSet(例外!)Statement(例外!)Connection(例外!)看看这段代码:
Connection conn = null;
Statement st = null;
ResultSet set = null;
try {
conn = Database.getConnection();
st = conn.createStatement();
set = st.executeQuery("SELECT * FROM THING");
// <-- Do stuff
} catch (Exception e) {
} finally {
// Close set if possible
if (set != null) {
try {
set.close();
} catch (Exception e) {
}
}
// Close statement …Run Code Online (Sandbox Code Playgroud) 假设我有一个变量,它是一个List(Of T)有100个元素的变量,它们是一个类的实例....
如果我将这个变量设置为List(Of T)另一个100个实例的新变量,旧变量完全消失了,对吧?他们死.绝对是过去的事,对吧?