Tag: 循环

java Swing计时器一个接一个地执行几个任务

我完全清楚很少有类似的问题。 我试图实施提供的解决方案 – 徒劳无功。 …我面临的问题是在另一个之后闪烁按钮。 我可以做一个,但是当按顺序闪烁时 – 一切都会中断。 任何对Java新人的帮助都表示赞赏。 PS我不允许使用Threads。 我现在拥有的是: Timer colorButton = new Timer(1000, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { for (int i = 0; i < pcArray.length; i++) { playSquare = pcArray[i]; System.out.println("PlaySquare " + playSquare); if (playSquare == 1) { if (alreadyColoredRed) { colorBack.start(); colorButton.stop(); } else { […]

如何确定一个数字是否为素数

好吧,我的问题不是如何弄清楚一个数字是否是素数,因为我认为我想出了这个,但更多的是如何让它正确显示。 这是我的代码: public static void main(String[] args) { // Declare Variables int randomNumbers = 0; int sum = 0; //Loop for number generation and print out numbers System.out.print(“The five random numbers are: “); for (int i = 0; i <= 4; i++) { randomNumbers = (int)(Math.random()*20); sum += randomNumbers; if (i == 4) { System.out.println("and […]

循环通过JPanel

为了在用户单击“清除按钮”时初始化JPanel上的所有JTextfField ,我需要遍历JPanel (而不是将所有单个字段设置为“”)。 我怎样才能使用for-each循环来遍历JPanel来搜索JTextField ?

将递归函数转换为for循环?

每个递归函数都有一个等效的循环吗? (两者都达到了相同的效果)。 我有这个递归函数: private static boolean recur(String word, int length) { if(length == 1 || length == 2) return false; if(length == 0) return true; if(words[length].contains(word.substring(0, length))) return recur(word.substring(length), word.length() – length); return recur(word, length-1); } 假设单词是Set [],并且单词[i] =具有长度为i的单词的集合。 我要做的是:用一个单词启动递归(比如说,“stackoverflow”,没有空格),我试图找出这个单词是否可以切成子词(“堆栈”,“结束”,“流程”) ..子词的最小长度是3,并且假设长度i的子词在Set words [i]中。 我可以确认这段代码有效,但它可能有内存问题,所以我想将它转为循环..如果可能的话。 你需要更多信息吗? 谢谢。

迭代地图并更改值时如何避免ConcurrentModificationException?

我有一个包含一些键(字符串)和值(POJO)的映射 我想迭代这个地图并改变POJO中的一些数据。 我inheritance的当前代码删除了给定的条目,并在对POJO进行一些更改后将其添加回来。 这不能很好地工作,因为在迭代它时你不应该修改地图(方法是同步的,但仍然出现ConcurrentModificationException) 我的问题是 ,如果我需要遍历地图并更改值,那么我可以使用哪些最佳实践/方法? 要创建一个单独的地图并按照我的方式构建,然后返回副本?

使用递归回溯在有向图中查找所有周期

我正在使用递归回溯来查找有向图中的循环。 这里有一个建议的伪代码, 在这里: dfs(adj,node,visited): if (visited[node]): if (node == start): “found a path” return; visited[node]=YES; for child in adj[node]: dfs(adj,child,visited) visited[node]=NO; 使用start节点调用上面的函数: visited = {} dfs(adj,start,visited) 虽然与Tarjans algorithm相比,这不是最有效的算法,但这对我来说很容易理解。 目前,此代码没有检测到的数字周期数。 我用Java实现了这个: //this is the main method that calls the helper DFS which runs on each node public int allCyclesDirectedmain(){ //this initializes all vertices clearAll(); int[] count […]

Java延迟/等待

如何将while循环延迟到1秒间隔,而不会将运行的整个代码/计算机减慢到一秒钟的延迟(只有一个小循环)。

在循环中创建新对象的效率

我不确定这个问题是否与语言无关,所以我只是将其视为一个Java问题。 如果你有像这样的循环 for (int i = 0; i < 9; i++) { Object obj = new Object; // fill object // do something with data } 是否通过循环的每次迭代都创建了内存中的新空间? 如果是这样,旧空间是否被处理? 如果没有,做这样的事情会更有效率 Object obj = new Object; for (int i = 0; i < 9; i++) { // fill object // do something with data } 编辑:更新代码以更好地举例说明问题

迭代地图输入集

我需要遍历地图的入口集,我不知道它的参数化类型。 迭代这样的入口集时,为什么不编译? public void myMethod(Map anyMap) { for(Entry entry : anyMap.entrySet()) { … } } 但这个编译: public void myMethod(Map anyMap) { Set entries = anyMap.entrySet(); for(Entry entry : entries) { … } } 这也编译(我不能使用这个,因为我不知道地图的类型): public void myMethod(Map stringMap) { for(Entry entry : stringMap.entrySet()) { … } }

如何在java中迭代时在List中添加元素?

说我有一个像这样的列表: List list = new ArrayList(); list.add(“a”); list.add(“h”); list.add(“f”); list.add(“s”); 在遍历此列表时,我想在列表的末尾添加一个元素。 但我不想迭代新添加的元素,我想迭代到列表的初始大小。 for (String s : list) /* Here I want to add new element if needed while iterating */ 任何人都可以建议我怎么做?