Tag: 循环

使用for循环还是for-each循环?

我们应该更喜欢for-each循环而不是传统的for循环吗? while循环是否有利? List names = Arrays.asList(“John”, “Jeff”, “Mary”, “Elise”); //for-each loop for(String name: names){ log(name); } //traditional for-loop for(int index=0; index < 10; ++index){ log(names.get(index)); } //Iterator while Iterator iter1 = names.iterator(); while (iter1.hasNext()) { log(iter1.next()); } //Iterator for loop for(Iterator iter2 = names.iterator(); iter2.hasNext();){ log(iter2.next()); } 什么是最好的味道?

代码中罕见的无限循环,不想等待它再次发生

好吧,所以我有一个在netbeans中运行的遗传算法,它运行了5个小时,似乎进入了无限循环。 有什么方法可以附加调试器吗? 或者至少得到一些关于它在代码中的位置的线索? 在我等待它再次发生的时候,我宁愿不再坐5个小时。

有没有办法循环变量名称?

例如,我有以下变量:Var1,Var2,Var3,Var4,Var5 – 总共5个变量。 所有都有独特的数据,我想使用for循环循环它们。 //String Var1 = something, Var2 = something etc.. for (int i = 1; i <= 5; i++) { Var(i) = "something else"; } //ie I change Var(1), Var(2) etc.. to something else respectively. 为了进一步澄清,最终我想应用此方法来迭代我的程序中的多个组件。 我有大量具有样式名称的组件(例如label1,label2,label3等),并且想要更改这些组件的值而无需单独设置它们的值。

如何在每个循环中跳过a的第一次迭代?

编程对我来说是新的,我试图了解一些概念。 我正在尝试创建一个简单的小程序,在地图上显示欧洲的首都城市,使用drawLine方法将它们连接起来。 我遇到了一个问题,我无法成功加入两个省会城市。 我想我理解为什么,但我想不出办法绕过它。 draw方法中的后两个参数与前两个参数相同,但我无法跳过第一次迭代。 这对我来说是全新的,我正试图从书本和网络中学习。 public void paint(Graphics g) { super.paint(g); g.drawImage(image, 0, 0, this); for (Entry entry : map.entrySet()) { g.setColor(Color.BLUE); g.fillOval(entry.getValue().a, entry.getValue().b, 5, 5); g.setColor(Color.BLUE); g.drawString(entry.getKey(), entry.getValue().a+7, entry.getValue().b+7); g.setColor(Color.RED); g.drawLine(entry.getValue().a, entry.getValue().b, 0, 0);//Problem } } 有人可以把我推向正确的方向吗? 我正在考虑使用迭代器而不是每个循环使用迭代器,这是我目前唯一的想法。

在Mule 3.4中模拟while循环

我需要在我的Mule Flow中使用while循环来从自定义DAO(我使用Expression Transformer访问DAO)加载数据,直到他不再提供任何项目。 (我不知道DAO提供的项目总数。)Mule 3.4中没有内置while循环。 我的第一个想法是在SubFlow中使用递归反向引用。 SubFlow调用自己直到工作完成。 但我认为一个“无法解决的循环引用”的springframeworkexception。 流不能自称。 我的下一个想法是写一个Custom Transformer并注入SubFlow来调用循环。 我使用了David Dossot在他的回答中描述的一些技术: https ://stackoverflow.com/a/16532977/2629741 我遇到的问题不仅是原始Flow中的flowVars在SubFlow中无法访问,而且如果我尝试设置一个flowVar,我会得到一个exception(我使用flowVars进行原始Flow和SubFlow之间的通信) : org.mule.api.transformer.TransformerMessagingException: null (java.lang.NullPointerException). Message payload is of type: NullPayload 我的问题是:我如何使SubFlow中的原始Flow可访问的flowVars(反之亦然)我在Custom Transformer中调用(参见下面的类循环)? mule子流: 环形变压器: public class Loop extends AbstractMessageTransformer implements FlowConstructAware { private InterceptingChainLifecycleWrapper _flow = null; public void setFlow( final Object value ) { this._flow = InterceptingChainLifecycleWrapper.class.cast(value); } […]

如何循环try catch语句?

你如何循环try / catch语句? 我正在制作一个使用扫描仪读取文件的程序,它正在从键盘上读取它。 所以我想要的是如果文件不存在,程序会说“这个文件不存在请再试一次”。 然后让用户键入不同的文件名。 我尝试了几种不同的方法尝试这样做但是,我的所有尝试最终导致程序崩溃。 这就是我所拥有的 try { System.out.println(“Please enter the name of the file: “); Scanner in = new Scanner(System.in); File file = new File(in.next()); Scanner scan = new Scanner(file); } catch (Exception e) { e.printStackTrace(); System.out.println(“File does not exist please try again. “); }

总是使用最终?

我已经读过,制作最终的东西,然后在循环中使用它会带来更好的性能,但它对一切都有好处吗? 我有很多地方没有循环,但我将final添加到局部变量。 它会使它变慢还是仍然好? 还有一些地方我有一个全局变量final(例如android paint),这是否意味着我在循环中使用它时不必将它作为局部最终版本?

嵌套迭代遍历列表,然后是最终删除

我试图通过循环遍历列表(嵌套循环)迭代。 考虑以下代码: ArrayList list = new ArrayList(); // add some values to it for(int i : list) { // ConcurrentModificationException Iterator iterator = list.iterator(); while(iterator.hasNext()) { int n = iterator.next(); if(n % i == 0) { iterator.remove(); } } } 上面的示例导致ConcurrentModificationException。 当然,移除元素的条件只是一个例子。 我确定我只是遗漏了一些东西; 但是我应该如何构建一个在Java 中实现相同function而不会抛出exception的循环 ?

如何检查char数组是否有空单元格,以便在其中打印0?

码: public void placeO(int xpos, int ypos) { for(int i=0; i<3;i++) for(int j = 0;j<3;j++) { // The line below does not work. what can I use to replace this? if(position[i][j]==' ') { position[i][j]='0'; } } }

改变for循环的顺序?

我有一种情况,我需要根据用户输入循环不同顺序的xyz坐标。 所以我是3D空间中的一个区域,然后是一组像这样的for循环。 for(int x = 0; x < build.getWidth(); x++){ for(int y = 0; y < build.getHeight(); y++){ for(int z = 0; z < build.getLength(); z++){ //do stuff } } } 但根据用户输入,订单可能是这样的。 for(int z = 0; z < build.getLenght(); z++){ for(int y = 0; y < build.getHeight(); y++){ for(int x = 0; x < build.getWidth(); […]