有沒有一種方法來實現使用最終變量的循環? 我的意思是一個循環,當你不允許在初始化後改變任何東西時,它會運行指定的迭代次數!使用最終變量實現循環
2
A
回答
8
是遞歸允許的,或者你從字面上需要一個循環構造像for
或while
?如果你可以使用遞歸的話:
void loop(final int n) {
if (n == 0) {
return;
} else {
System.out.println("Count: " + n);
loop(n-1);
}
}
+0
這很有趣:) – 2013-03-21 18:40:51
0
事情是這樣的 -
final int max = 5;
for(int i=0; i<max; i++) {}
或者另一個有趣的單
final boolean flag = true;
while(flag) {
// keep doing your stuff and break after certain point
}
一個更多 -
List<String> list = ......
for(final Iterator iterator = list.iterator(); iterator.hasNext();) {
}
+0
不確定'i'或'flag'是否不制動規則「初始化後你不允許改變任何東西」 – Pshemo 2013-03-21 18:37:26
0
創建一個數組,其大小爲所需的迭代次數,然後在for-each循環使用它:
public class Test {
public static void main(String[] args) {
final int N = 20;
final int[] control = new int[N];
for(final int i : control){
System.out.println(i);
}
}
}
這裏的訣竅是,迭代索引由編譯器生成,作爲增強for語句的一部分,不使用任何用戶聲明的變量。
1
的一種方式是創建表示任意範圍的Iterable<Integer>
類(而實際上不必所有的值存儲在一個列表):
public static class FixedIntRange implements Iterable<Integer> {
private final int min;
private final int max;
public FixedIntRange(final int min, final int max) {
this.min = min;
this.max = max;
}
@Override
public Iterator<Integer> iterator() {
return new Iterator<Integer>() {
private Integer next = FixedIntRange.this.min;
@Override
public boolean hasNext() {
return next != null;
}
@Override
public Integer next() {
final Integer ret = next;
next = ret == max ? null : next + 1;
return ret;
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
};
}
}
,然後遍歷其通常:
for (final int i : new FixedIntRange(-10, 20)) {
// this will be run for each i in the range [-10, 20]
}
相關問題
- 1. 安全使用循環變量循環
- 2. 在使用變量循環
- 3. 使用變量 'for' 循環
- 4. 使用循環變量
- 5. 無法實現try/catch /最後變量是最終的
- 6. Python動態循環終止變量
- 7. 使用循環但始終執行最新循環 - node.js net-snmp
- 8. 聲明本地變量爲循環中的最終狀態
- 9. 最終變量
- 10. 實現循環
- 11. Python:無法使用不同類型的變量終止循環
- 12. 什麼是最終使用的循環變量中增強的for循環的目的是什麼?
- 13. For循環最終輸出
- 14. 使用循環FOR改變的變量
- 15. 初始化「最終」實例變量
- 16. Java最終變量
- 17. Java - 最終變量
- 18. Actionevent最終變量?
- 19. runOnUiThread中非最終變量的使用
- 20. 循環和變量變量
- 21. 變量變量(?) - PHP循環
- 22. 如何實現使用for循環?
- 23. 使用ArrayList實現循環隊列
- 24. 最終實例變量在編譯時已知值的使用
- 25. PHP循環實現
- 26. 最終與非最終正常變量
- 27. 在中環數字上使用最終的循環值
- 28. 實例變量在不修改循環
- 29. 我想使用循環中的變量,但while循環中定義的變量
- 30. 使用信號量在java中實現一個循環屏障
你的問題不清楚... – assylias 2013-03-21 18:37:17
哎呀,它可能是那麼容易,因爲'的(最終的AtomicInteger I =新的AtomicInteger(0); i.get()
yshavit
2013-03-21 19:15:04