我实现了一个字体系统,通过char switch语句找出要使用的字母.我的字体图片中只有大写字母.我需要这样做,例如,'a'和'A'都有相同的输出.而不是2倍的案件数量,它可能是如下:
char c;
switch(c){
case 'a' & 'A': /*get the 'A' image*/; break;
case 'b' & 'B': /*get the 'B' image*/; break;
...
case 'z' & 'Z': /*get the 'Z' image*/; break;
}
Run Code Online (Sandbox Code Playgroud)
这在Java中可行吗?
我有一个for循环,运行15次,dh.setDoors()每次迭代.
什么setDoors是呼叫srand(time(0)),然后每当需要随机数时,它将使用,例如,carSetter = rand()%3+1.或者,它可以使用decider = rand()%2+1.
现在,通常decider和carSetter以不同的方式使用,但我怀疑一个问题,carSetter并decider在每次迭代时打印出来.这是出来的:
Door 1 has car
Decider is 2
Door 1 has car
Decider is 2
Door 1 has car
Decider is 2
Door 1 has car
Decider is 2
Door 1 has car
Decider is 2
etc...
Run Code Online (Sandbox Code Playgroud)
当我多次运行时,值"1"和"2"会发生变化,但在15次中仍然是相同的.
由于循环运行15周不同的时间,不应该carSetter和decider打印出不同的随机数每次迭代?
当我没有时srand(time(0)),它按预期工作,但没有种子集,所以每次都是相同的"随机"数字序列,所以它可能是种子的问题?
在java中创建一个对象(或任何东西)时,做什么之间有什么区别,例如,
Dog d = new Dog();
Run Code Online (Sandbox Code Playgroud)
而不是做
Dog d;
Run Code Online (Sandbox Code Playgroud)
然后,用它完成它(有时在内部和方法的开头)
d = new Dog();
Run Code Online (Sandbox Code Playgroud)
第一个不是更简单,更容易吗?人们为什么要这样做呢?