Tag: 拼图

为什么不从套装中删除?

这个bug花了我一段时间才找到…… 考虑这种方法: public void foo(Set set) { Object obj=set.iterator().next(); set.remove(obj) } 我使用非空哈希集调用该方法,但不会删除任何元素! 那为什么会这样?

益智游戏Android DFS算法

我有一个名为Islands和bridge的android应用程序,也称为Hashiwokakero 应用程序使用A 2 Dimensional数组,每次用户重新启动游戏时随机生成群岛它形成一个数字从0到4的矩阵,其中0 = null和1-4 =岛可以有2个桥从一个岛出来连接另一方面,目前的地图无法解决。 为了解决游戏,用户需要使用网桥连接岛屿,因此如果岛屿= 4则需要4个连接,如果岛屿= 2则需要2个连接等等。 在我的研究中,我发现解决游戏的最佳算法是使用深度优先搜索 – 文章 我在这里看了不同的问题,但似乎无法找到解决方案,因为我的数组是String类型而不是integer 。 问题如何应用DFS算法连接岛? 这是我的应用程序的屏幕截图。 这个函数创建了一个简单的map 4×4矩阵: private void InitializeEasy() { Random rand = new Random(); String[][] debug_board_state = new String[4][4]; setCurrentState(new State(WIDTH_EASY)); for (int row = 0; row < debug_board_state.length; row++) { for (int column = 0; column < debug_board_state[row].length; column++) { […]

Java 9模块,静态意味着浅层reflection?

为了能够在移植到Java 9时更好地判断reflection的风险,我想知道只要引用可访问类型, 浅reflection代替静态编译是否安全: 我的意思是,我可以随时更换 PublicType p = (PublicType)(Factory.instance()); p.publicMethod(); (其中Factory.instance()具有返回类型Object ,并将从未打开的模块返回API类型的子类型( Package.PublicType )。 同 Object p = Factory.instance(); Class c = Class.forName(“package.PublicType”); Method m = c.getMethod(“publicMethod”, (Class[])null); // assert p instanceof package.PublicType m.invoke(p, (Object[])null); // throws? 这个问题的早期版本关于我同时解决的特定代码问题 。 但是,一般的问题也很有趣,可以讨论:是否存在返回的对象具有正确的子类型但在调用或MethodHandle解析时未通过访问检查的情况。

通过递归查找数组中最大的正int

我决定递归地实现一个非常简单的程序,看看Java如何处理递归*,并且有点简短。 这就是我最后写的: public class largestInIntArray { public static void main(String[] args) { // These three lines just set up an array of ints: int[] ints = new int[100]; java.util.Random r = new java.util.Random(); for(int i = 0; i largest) largest = i; return largest; } private static int recursive(int[] ints, int largest) { if(ints.length == […]

为什么我的简单比较器坏了?

我有一个课程,我已将其简化为: final class Thing { private final int value; public Thing(int value) { this.value = value; } public int getValue() { return value; } @Override public String toString() { return Integer.toString(value); } } 我想对这个东西的数组进行排序。 所以我创建了一个简单的copmarator: private static final Comparator reverse = new Comparator() { public int compare(Thing a, Thing b) { return a.getValue() – b.getValue(); […]

Java拼图与reflection和字符串

这个源输出G’Day Mate. 这是怎么回事? public static void main(String args[]) { System.out.println(“Hello World”); } static { try { Field value = String.class.getDeclaredField(“value”); value.setAccessible(true); value.set(“Hello World”, value.get(“G’Day Mate.”)); } catch (Exception e) { throw new AssertionError(e); } } 如果我们将主要function”Hello World”更改为new String(“Hello World”) : System.out.println(new String(“Hello World”)); 它输出Hello world 。 实际上发生了什么?

为什么24 * 60 * 60 * 1000 * 1000除以24 * 60 * 60 * 1000在Java中不等于1000?

为什么24 * 60 * 60 * 1000 * 1000除以24 * 60 * 60 * 1000在Java中不等于1000?

Eclipse – 添加module-info.java时找不到模块

我在eclipse中有一个简单的hello world项目,我希望用java 9运行。当我没有module-info.java文件时程序运行但是当我添加该文件时,我收到以下错误: Error occurred during initialization of boot layer java.lang.module.FindException: Module modulefinder not found 重现步骤 1.创建一个新的maven项目 2.将编译器和构建路径jre更改为9 3.自动生成module-info.java 4.如果eclipse抱怨,请将junit中的junit依赖关系更新为4.12 5.运行项目 这是一个与日食有关的问题,还是我在运行项目时遗漏了什么? 我使用的FYI eclipse版本是Oxygen.1a版本(4.7.1a)

如何在Java9模块中使用第三方库?

我有一些java9模块使用的第三方库不是Java9模块,只是一个简单的实用工具jar。 但是,编译器抱怨它无法从我的实用程序中找到包。 我应该怎么做module-info.java才能使用我的第三方库?