问题内容: 我有一个while循环,应该捕获一个非整数输入,并要求用户重新输入一个整数。但是,它只是无限循环错误消息。有谁知道为什么不允许第二次扫描仪输入? 问题答案: 当您输入的令牌不是数字时,调用nextInt不会将扫描仪移到令牌之外。结果,它只是一遍又一遍地读取相同的令牌。 这是nextInt的文档:http : //download.oracle.com/javase/6/docs/api
问题内容: 我在学习Java的OCA / OCP时发现了这一令人惊讶的事情。 以下是if(test condition)部分使我感到惊讶的第一段代码。 现在,此输出令人惊讶地为“ true”。 我了解到必须有一个关系条件,该条件会像或类似地返回true或false 。 我想知道在这种情况下它如何返回true。它调用Boolean.valueOf()吗? 问题答案: 是赋值运算符,是比较运算符。但
问题内容: 好的,我在一个空程序上进行了测试,仅运行一会儿(true){}就使我的CPU占用了50%以上的资源。我正在开发一个游戏,它使用while循环作为主循环,并且CPU始终处于100。 我如何才能让Java重复执行某些操作,而又不消耗超过50%的CPU来执行重复操作呢? 问题答案: 添加睡眠以使线程在一段时间内处于空闲状态: 没有睡眠,while循环将消耗所有可用的计算资源。(例如,理论上,
问题内容: public class GuardedBlock { 我正在通过Java Essentials教程学习并发性。找到了守卫的方块并尝试对其进行测试。我无法理解的一件事。 虽然循环是无限的,但是如果您取消注释threadMessage行,则一切正常。为什么? 问题答案: 简短答案 您忘了声明为易失性布尔值。 如果您将字段声明省略为,则不会告诉JVM该字段可以被多线程看到,例如您的示例。
问题内容: 我的问题是关于,它是从方法中抛出的。在和我一起工作时,我注意到一些我不理解的怪异行为。这是我的意思: 有了这个代码,编译器不给我任何错误或消息从应该被抓。但是,当我尝试更改循环条件并用诸如此类的变量替换“ true”时: 编译器不断抱怨必须处理。有人可以向我解释为什么会发生这种情况,为什么将条件设置为true则编译器会忽略InterruptedException? 问题答案: 这样做的
问题内容: 假设我有这个: 问题: break语句会将我带出两个循环还是仅从内部循环带出?谢谢。 问题答案: 在您的示例中,break语句将使您退出while(b)循环
问题内容: 我想减少大型遗留Java代码库中违反声纳的次数,看来“快速获胜”是将所有这些条件语句更新为大括号。这似乎是一件容易的事,我不明白为什么它不容易自动化。 有人知道这样的工具可以执行批量操作吗?还是在我花时间自己写东西之前,为什么要做这样的事情可能不是一个好主意?如果我要自己写一个,那么最好的工具是什么?理想情况下,它是Java语言感知的,这样我就不必处理格式化极端情况等。 规则是不可协商
问题内容: 我也在学习Java和android。我们可以在while循环中执行的几乎所有事情都可以在while循环中执行。 我发现一个简单的条件,使用while循环比for循环更好 如果我必须在程序中使用counter的值,那么我认为while循环要比for循环好 使用while循环 在这种情况下,我发现while循环要比for循环好,因为如果要在for循环中实现相同的效果,则必须将counter
问题内容: 我在用Java做一些小程序。我知道,如果我编写 程序,程序将在此循环中冻结。如果代码是这样的: 测试1: 编译器抛出错误: 我不知道这个错误存在。但是我知道为什么会抛出它。当然, 第6行无法访问 ,从而导致编译问题。然后,我对此进行了测试: 测试2: 由于某种原因 ,程序正常运行 (控制台先打印“开始”,然后冻结)。编译器无法检查内部, 并无法访问。确保我尝试过: 测试3: 与测试2相
问题内容: boolean r = false ; int s = 0 ; while (r == false) ; { s = getInt() ; if (!(s>=0 && s<=2)) System.out.println (“try again not a valid response”) ; else r = true ; } 即使输入3或123,循环也不会终止,文本也不会显示。怎么了
问题内容: 在执行do-while循环时,让JButton重复更新(与计时器一起使用)时遇到了一些麻烦。我正在开发一个简单的游戏,在10 * 10的图块对象网格上玩,该对象对应于具有100个按钮的JButton arrayList。 程序的此部分处理简单的寻路(即,如果我单击角色,然后单击一个空的图块,则角色将在到达目标的途中在每个图块中移动)。每个步骤之间都有一定的延迟,因此用户可以看到角色的进
问题内容: 我正在制作一个以这种方式执行的while循环程序: 主线程进入while循环。 在while循环中什么也没有发生。 线程将停留在while循环中,直到满足条件为止。 另一个线程运行一个满足上述条件的函数。 这是一个例子: 类中还有另一个函数会将路径设置为null,一旦发生这种情况,主线程应退出此循环。在另一个线程中调用另一个函数。 但是,即使将path设置为null,主线程也不会退出循
问题内容: 我目前有一个正常工作的解析器。它解析一次文件(不是我想要的功能),然后将解析的数据输出到文件中。我需要它来继续解析并追加到相同的输出文件,直到输入文件的末尾。看起来像这样。 除了while循环,其他所有操作都已完成。当我需要它继续解析时,它只会解析一次。我正在寻找一个while循环函数来达到eof。 我也在使用DataInputStream。是否有某种DataInputStream.h
问题内容: 我正在使用SELECT语句从表中获取数据,然后将其插入到另一个表中。但是,行“ stmt.executeQuery(query);” 从表中插入第一行然后退出。当我注释掉这一行时,while循环遍历所有行,将它们打印出来。stacktrace没有显示任何错误。为什么会这样呢? 问题答案: 您将重新使用循环最后一行中产生的那个。 这将关闭 。如文档中所述: 阿当对象将自动关闭生成它对象被
问题内容: 这是代码- 这是输出- 0 0 1 2 3 4 5 6 7 8 当我想在for循环退出后使用变量i时,出现了我的问题。我会假设我正在读取7,即从零开始的计数中的第8个增量,但实际上是8!在循环退出时对变量i又增加了一个增量。 为了解决这个问题,我必须在循环的末尾以及在其他任何代码中使用它之前,先执行类似i的操作。在我看来,这使代码更难理解。 有更好的解决方案吗? 问题答案: 当值为7时