我正在學習做一些Java 101語法的東西。在我試圖做的練習中,我無法獲得增加的值來打印。有任何想法嗎?Java:無法獲得增加的打印值。
這裏是我的代碼:
class StaticTest {
static int i = 47;
}
class incrementable {
static void increment() { StaticTest.i++; }
}
class DataOnly {
int i;
double d;
boolean b;
public static void main (String[] args) {
incrementable t = new incrementable();
DataOnly df = new DataOnly();
df.i = t.increment();
System.out.println(df.i);
}
}
我得到的錯誤是:
aTyp0eName.java:18: incompatible types
found: void
required: int
df.i = t.increment();
df.i
是int
,所以是t.increment
。我猜這是因爲increment()
是void
?
爲了適應其他類,增量應該重命名incrementAndGet(因爲它似乎試圖在增量之前返回值)。如果它使用前增量(這更自然),則該名稱應該是getAndIncrement。副作用是討厭的。 – 2009-04-21 19:51:36