Tag: 循环

循环关键字计划家庭作业

它会询问用户要搜索的关键字。 然后,它会要求用户一遍又一遍地输入句子。 用户可以通过键入“停止”而不是句子来停止该过程(当然,这意味着我们无法分析单词句子’停止’,但这没关系)。 用户输入完句子后,程序应显示以下统计信息: 输入的句子总数 包含关键字的句子总数 包含关键字的句子中关键字的平均起始位置。 有人可以帮我把这个程序放在一起吗? 对于#3,我们只对包含关键字的句子进行平均排名。 我有循环部分,对于#3,我猜我们会使用indexOf。 #2 inputString.contains(keyword)我在猜? 有人可以帮助我1-3并将它们放入Java程序吗? 谢谢。 import java.util.Scanner; public class Lab6Loops { public static void main(String[] args) { String keywordString; String inputString; Scanner keyboard = new Scanner (System.in); int numofSentences = 0; int numofKeyword = 0; System.out.println (“Enter a keyword. We will search each sentence for this […]

如何在每次迭代之间使这个java for循环暂停1/2秒?

private class MultipleGensListener implements ActionListener { public void actionPerformed(ActionEvent e) { for(int i = 0; i < 25; i++) { game.runSimulationOneGen(); changeGrid(); } } } //这是循环。 changeGrid方法在GUI上显示游戏网格,但//仅在屏幕上显示第25次迭代。 我希望每个人在循环继续之前大约半秒钟可见。 //我在这里看到的一些问题与我提出的问题非常接近,但是我真的不明白如何将它应用到我的程序中… //感谢您的帮助。

用于优化循环语句的JVM选项

我在学校被告知,修改for loop的索引变量是一种不好的做法: 示例: for(int i = 0 ; i < limit ; i++){ if(something){ i+=2; //bad } if(something){ limit+=2; //bad } } 争论的焦点是, 某些编译器优化可以优化循环,而不是重新计算索引并在每个循环中绑定。 我已经在java进行了一些测试,似乎默认索引和绑定每次都会重新计算。 我想知道是否可以在JVM HotSpot激活这种function? 例如,要优化这种循环: for(int i = 0 ; i < foo.getLength() ; i++){ } 无需写: int length = foo.getLength() for(int i = 0 ; i < length ; i++){ } […]

Java是否识别无限循环?

给出以下代码示例: public class WeirdStuff { public static int doSomething() { while(true); } public static void main(String[] args) { doSomething(); } } 这是一个有效的Java程序,虽然方法doSomething()应该返回一个int但从来没有。 如果你运行它,它将以无限循环结束。 如果将while循环的参数放在一个单独的变量中(例如boolean bool = true),编译器会告诉你在这个方法中返回一个int。 所以我的问题是:这是Java规范中的某个地方,是否存在这种行为可能有用的情况?

为什么此代码会出现“无法访问的语句”错误?

这是我的代码,我得到一个无法访问的语句错误,但我不知道为什么。 public boolean Boardload(String[] args) throws Exception { Robot robot = new Robot(); Color color3 = new Color(114, 46, 33); Color color4 = new Color(180, 0, 0); { Rectangle rectangle = new Rectangle(0, 0, 1365, 770); { while(false) { BufferedImage image = robot.createScreenCapture(rectangle); search: for(int x = 0; x < rectangle.getWidth(); x++) { for(int y […]

如何正确使用goto语句

我正在上高中AP计算机科学课。 我决定把一个goto语句放到我们的一个实验室里来玩,但是我得到了这个错误。 Exception in thread “main” java.lang.Error: Unresolved compilation problems: Syntax error on token “goto”, assert expected restart cannot be resolved to a variable at Chapter_3.Lab03_Chapter3.Factorial.main(Factorial.java:28) 我在Stackoverflow上转到了一个goto问题,以了解如何正确地完成它,并且我完全按照其中一个答案进行了演示。 我真的不明白为什么编译器想要一个assert语句(至少这是我认为它想要的),我也不知道如何使用assert 。 它似乎想重启部分goto restart; 作为变量,但重新启动只是一个标签,将程序拉回到第10行,以便用户可以输入有效的int 。 如果它想重新启动变量,我该怎么做? import java.util.*; public class Factorial { public static void main(String[] args) { int x = 1; int factValue = 1; Scanner […]

如何将嵌套Java集合中的所有项目展平为单个列表?

给定复杂的嵌套对象集合,例如: Set<List<Map<String, List>>> complexNestedCollection; 是否存在通用方法来展平它并获得包含在其中的所有Object的单个List ? 一些细节: 该列表不应包含集合对象本身或映射键 – 仅包含最低级别的值。 它应尽可能遵循相同的顺序 – 因此在示例中,列表中的项目将按顺序排列,而映射/集合的排序将取决于实现。 它可以选择性地排除重复 更新:理想情况下,它应检测/处理任何级别的循环引用,例如List<List> ,其中外部List将自身包含为成员。 (感谢AdrianJałoszewski在下面的评论中提到这一点)。 注意:实际的用例是从List<List>获取所有字符串,这可以通过两个循环轻松完成,但它让我对一般情况感到疑惑。

组合:生成所有“状态” – 数组组合

我有一个整数数组: n[] 。 另外,我有一个数组( Nr[] )包含n.length整数。 我需要以下列方式生成n[]所有组合: /* let n.length == 3 and Nr[0] = 2, Nr[1] = 3, Nr[2] = 3 */ n = {0, 0, 0}; n = {1, 0, 0}; n = {2, 0, 0}; n = {0, 1, 0}; n = {0, 2, 0}; n = {0, 3, 0}; n = […]

Java:带循环的数组

我需要创建一个包含100个数字(1-100)的数组,然后计算它将会是多少(1 + 2 + 3 + 4 + .. + 100 =总和)。 我不想手动将这些数字输入到数组中,100个点需要一段时间并且需要更多代码。 我正在考虑使用变量++直到100,然后计算它的总和。 不确定它是如何编写的。 但重要的是它在数组中,所以我也可以稍后说,“数组55多少”,我可以很容易地看到它。

了解Android紧密循环/旋转暂停错误

我正在开发一款关于android的游戏,“Space RPG” – 目前只在大多数Galaxy S4和HTC Ones上看到这个错误。 这都是Java。 游戏将停止,当我尝试调试进程并暂停有问题的线程时,它将不会挂起,并且会发生旋转挂起错误。 线程转储让我看到它在一个特定的while循环中,它正在采取一个所需的“结束位置”并在不断增加的距离步骤向后迭代以找到“开始位置”。 这是事情变得烦人的地方。 我可以validation循环无法无限运行,即使条件是while(true),在我的break被调用之前它不可能运行超过200次迭代(这个断言由正在运行的代码备份)我试过的每一部电话)。 为了帮助我缓解这个问题,我在循环中添加了一个简单的递增变量,如果它超过1000,它会记录一些东西,所以我可以看到它DID运行了太多次,以防万一设置了一些变量严重或什么的。 当此计数器代码存在时,不会发生崩溃/挂起。 我也没有看到任何日志表明它跑了1000多次。 如果我删除此计数器,则每次播放5-10秒后都会发生挂起[其中while循环可能会运行10次,尽管有所不同]。 因此,我的问题是,到底是怎么回事? :P为什么这些较新的手机(但似乎没有旧款手机)在执行有效工作的循环中存在问题,并且在没有增量变量的情况下不会持续很长时间。 线程怎么可能在该循环中停止,以及如何使用额外的计数器变量来解决问题呢? 这项工作是在opengl渲染线程上完成的,如果这很重要的话。 我有关于大多数S4发生这种情况的报道,但至少有一个S4在那里没有发生。 我今天使用的那个正在发生。 这让我想知道它是否可能与特定的android,java,dalvik或手机上的其他东西有关,但遗憾的是我没有从S4工作的任何细节。 非常感谢任何有关此类内容的帮助,指导,想法或进一步阅读。 float vel = 1.0f; // final velocity is 1. We are working backwards to find out what the starting velocity will need to be. int i = 0; double xmath = Math.sin(rot* […]