假设我有一个像下面这样的配置文件来启动我的应用程序.我如何从应用程序内部了解,比如说,-Dlog4j.configuration
jvmArg=-server
jvmArg=-Xms512m
jvmArg=-Xmx1024m
jvmArg=-Dcatalina.base=tomcat
jvmArg=-Dcatalina.home={tomcat_HOME}
jvmArg=-Dcatalina.config=file:cfg/catalina.properties
jvmArg=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
jvmArg=-Djava.util.logging.config.file=cfg/logging.properties
javaMain=org.apache.catalina.startup.Bootstrap
javaMainArg=-config ../cfg/server.xml
javaMainArg=start
jvmArg=-Dlog.directory=log
jvmArg=-Dlog4j.configuration=file:/cfg/test/log4j.properties
Run Code Online (Sandbox Code Playgroud) 在课堂内说Card
,你已经宣布了
typedef enum {
CLUBS, DIAMONDS, HEARTS, SPADES
} Suit
Run Code Online (Sandbox Code Playgroud)
和a
typedef enum {
SIX, SEVEN, EIGHT ..
} Value
Run Code Online (Sandbox Code Playgroud)
和指定的初始化程序
-(id) initWithValue: (Value) c andSuit: (Suit) s;
Run Code Online (Sandbox Code Playgroud)
那你怎么会在课外使用这个初始化器呢?
我试过了:
[Card alloc] initWithValue: (Card) Value.SIX andSuit: (Card) Suit.HEARTS];
Run Code Online (Sandbox Code Playgroud)
请协助
在我的班级甲板我有
static Deck *gInstance = NULL;
+(Deck *) instance {
@synchronized(self) {
if (gInstance == NULL)
gInstance = [[self alloc] init];
}
return (gInstance);
}
Run Code Online (Sandbox Code Playgroud)
和一个看起来像的init方法
-(id) init {
if (gInstance != NULL) {
return self;
}
self = [super init];
if (self) {
// Lots of clever things
}
gInstance = self;
return self;
}
Run Code Online (Sandbox Code Playgroud)
我在这里关心的主要是是否init
正确实施.如果我写的内容适合你,请告诉我.
或者...有没有办法让我init
私密并阻止人们(包括我自己)完全看到它?
晚上好.
这段代码有效.它通过Suit和Card Value对一系列卡片进行排序.这也是非常蛮力.你能推荐一个更好的方法吗?Objective-C是否有助于处理被排序的对象本身有多个字段的情况,排序依赖于哪些字段?
-(void) sort: (NSMutableArray *) deck {
NSUInteger count = [deck count];
Card *thisCard;
Card *nextCard;
int this;
int next;
BOOL stillSwapping = true;
while (stillSwapping) {
stillSwapping = false;
for (NSUInteger i = 0; i < count; ++i) {
this = i;
next = i+1;
if (next < count) {
thisCard = [deck objectAtIndex:this];
nextCard = [deck objectAtIndex:next];
if ([thisCard suit] > [nextCard suit]) {
[deck exchangeObjectAtIndex:this withObjectAtIndex:next];
stillSwapping = true;
}
if ([thisCard suit] == [nextCard …
Run Code Online (Sandbox Code Playgroud) 我正在阅读K&R书,这个问题出现了.如何最好地决定某些东西应该是自己的变量还是被定义为符号常量?
假设我们正在处理const int myNumber = 12;
,#define MY_NUMBER 12
在确定需要创建变量或使用符号常量时,应该遵循一个经验法则吗?
如果Integer i = 88
,内存地址i
是什么?
另外,如果作为调试器的一部分,id
数字更改,是否表示创建了新对象这一事实?
考虑以下事件序列
public static void main(String[] a) throws IOException {
FileReader f = new FileReader(a[0]);
System.out.println(f.ready()); // true
doSomethingWithReader(f);
System.out.println(f.ready()); // false
}
private static String doSomethingWithReader(FileReader reader) {
BufferedReader br = null;
try {
br = new BufferedReader(reader);
...
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return line;
}
Run Code Online (Sandbox Code Playgroud)
FileReader没有在任何地方关闭,但关闭它的是什么?
我照顾它viewWillAppear
,但怀疑必须有一个更好的地方.
如果任务是从一些可能存在逗号的数据中创建一个csv文件,有没有办法做到这一点而不会混淆哪个逗号是分隔符以及哪个逗号是值的一部分?
显然,我们可以使用不同的分隔符,替换所有出现的内容,或者用其他内容替换原始逗号,但是出于这个问题的目的,我们可以说修改原始数据不是一个选项而逗号是唯一允许的分隔符.
你会如何处理这样的事情?是否更容易创建xls?你能推荐任何能够很好地处理这个问题的java库吗?
如果任务是从某个POJO bean生成HTML文档,那么可以遵循的最简单的方法是什么?文档并不比那些带有标题和一些合并元素的系列表更复杂.
我们今天的解决方案有效,但(关注)与生成bean的代码引擎非常紧密地结合,我想要重写它或使用现有的解决方案.
(关注)主要目标是不要担心标签,html值,表结构等,并尽可能多地保留这些东西.java.
如果可能,请提供示例.谢谢.