测试Magic Square Java的.txt文件

我不想问,但我无法弄清楚这项任务,当我寻求帮助时TA也不能。 我必须从文本文件中获取输入,将文件中的整数提供给数组列表,并测试它是否是焦虑魔方。 n等于数组列表长度的平方根。 如果它不是一个完美的方形,它立即失败了魔方测试。 无论如何,我几乎完成了它; 我似乎不明白我的教授在魔术测试的最后一步中告诉/要求我们做什么。 在最后四个步骤之前的所有测试都完美无瑕。 我将在步骤之后发布我当前的代码。 让rowSums和colSums为两个长度为n的数组,条目全为零。 另外,让sumDiagMajor和sumDiagMinor分别表示表格左上角到右下角和右下角对角线的条目总和。 设index = 0 重复直到index = n2(a)通过ArrayList {index}递增rowSums [row](b)通过ArrayList {index}递增colSums [col](c)如果row = col,则通过ArrayList {index}递增sumDiagMajor。 (d)如果row + col = n-1,则通过ArrayList {index}递增sumDiagMinor(e)递增索引1 如果sumDiagMajor等于sumDiagMinor以及rowSums和colSums的每个条目,则该表是魔方; 否则,它不是。 int rowSums[] = new int[_n]; int colSums[] = new int[_n]; int sumDiagMajor = 0; int sumDiagMinor = 0; int row, col; row = col […]

服务器返回HTTP响应代码:400

我试图从URL获取InputStream。 该URL可以从Firefox打开。 它返回一个json,我已经在Firefox中安装了一个用于查看json的插件,所以我可以在那里查看它。 所以我试图通过以下方式从Java中获取它: URL url = new URL(urlString); URLConnection urlConnection = url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); 但它在urlConnection.getInputStream()中抛出IOException。 我也尝试过: HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); InputStream inputStream = url.openStream(); 但没有运气。 任何信息都很明显。 提前致谢。

具有错误的Active Directory Ldap凭据的会话/ Redis序列化错误的Spring启动

您好我是Spring和Java的新手,我正在尝试实现本教程中描述的Gateway身份validation服务器https://spring.io/guides/tutorials/spring-security-and-angular-js/ 我让一切正常,然后尝试对我们公司的Ldap服务器实施身份validation。 如果我使用有效的用户名和密码,它可以工作。 当我使用无效凭据时,应用程序错误。 我没有工作,所以我没有确切的错误,但它返回一个ldap错误(com.sun.jndi.ldap.LdapCtx),Redis正在尝试序列化它。 我的配置中是否缺少某些内容。 根据我的阅读,我认为我应该寻找一种方法来包装/扩展类并实现Serializable,但我不确定使用Spring Boot执行此操作的方法最少。 任何帮助是极大的赞赏。 谢谢, Mike Kowalski PS我一直在动态语言和框架中工作到目前为止(Javascript / Node,Php / Laravel) 以下是我认为安全配置的相关部分: @Configuration @Order(SecurityProperties.ACCESS_OVERRIDE_ORDER) public class SecurityConfiguration extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .formLogin() .defaultSuccessUrl(“/”) .loginPage(“/login”) .permitAll() .and() .logout() .logoutSuccessUrl(“/logout”) .permitAll(); http .authorizeRequests() .antMatchers(“/login”).permitAll() .anyRequest().authenticated() .and() .csrf().csrfTokenRepository(csrfTokenRepository()) .and() .addFilterAfter(csrfHeaderFilter(), CsrfFilter.class); } @Override protected […]

字符串不等于字符串?

String[] letters = {“A”, “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”, “L”}; Scanner inp = new Scanner(System.in); String input = (inp.nextLine()); String[] cord = input.split(“”); for(int x = 0; x < 10; x++) if(letters[x] == cord[1]) System.out.println("Fk yeah!"); 为什么Fk耶! 如果我输入一个AL字母,就不会发生?

将数组从Java传递到Oracle:java.sql.SQLException:无法转换为内部表示:error

我在DAO中有以下内容,当我执行时,我得到了 java.sql.SQLException:无法转换为内部表示forms:test.Project@843 DAO代码 List projectList = new LinkedList(); public void saveRecord(List project) throws DatabaseException,SQLException { for (Project items: project) { insertRecord(items); } } private void insertRecord(Project project) throws SQLException { projectList.add(project); try{ ArrayDescriptor desc = ArrayDescriptor.createDescriptor(“MY_ARRAY”, dbConn); // execpetion in this line ARRAY arr = new ARRAY(desc, dbConn, (Object[])projectList.toArray()); 我该如何解决这个问题? 编辑1 CREATE OR REPLACE TYPE […]

地图数据结构地图

MultiValueMap类(Apache commons集合)使得使用值为Collections的Map变得容易。 我正在寻找一个类,它可以很容易地使用Map,其键是对象,值是Maps。 我正在使用Java 1.4,因此无法使用Google Collections或generics。

获取Java ProgressMonitor的取消事件

我有一个ProgressMonitor pm和一个SwingWorker sw 。 我想在pm按下cancel按钮pm取消SwingWorker。 我想这不应该太难,我读了一些关于SwingWorker和ProgressMonitor的教程,但是我无法让它工作。 final ProgressMonitor pm = new ProgressMonitor(frame, “checking”, “…”, 0, 100); final SwingWorker sw = new SwingWorker() { protected Object doInBackground() throws Exception { doSomethingAndUpdateProgress(); } }; sw.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if(evt.getPropertyName().equals(“progress”)) { updateProgress(); } if(pm.isCanceled()) { cancelAction(); } if(pm.isDone()) { doneAction(); } } }); sw.execute(); […]

将Java PriorityQueue转换为稳定的优先级队列

我正在尝试在Java中实现稳定(先进先出)优先级队列。 假设密钥是一个名称,值是一个年龄,我知道我可以像这样建立一个不稳定的优先级队列: Queue<Map.Entry> pq = new PriorityQueue<Map.Entry>(100, ageComparator); 这几乎可以满足我所需要的一切,除了它在我插入(或删除它们)时不保持键值对的顺序。 我通过创建一个LinkedList找到了“解决方法”,它实际上提供了所有相同的function,除了它不包含带比较器选项的构造函数,我觉得它必须更慢,因为我保持值排序通过在每个队列操作后调用Collections.sort() 。 所以我想我真的有两个选项让我感兴趣。首先,我如何编辑上面的PriorityQueue来维护插入和删除顺序? 或者,我怎样才能强制我的LinkedList选项立即使用比较器而不必在每次操作时调用排序? 谢谢! 编辑: 感谢发布的第一条评论中的好问题。 通过FIFO,我的意思是对于具有相等值的键值对,应首先提取首先放入的对。

lucene在查询中获得匹配的术语

找出查询中哪些术语与作为lucene中的命中返回的给定文档匹配的最佳方法是什么? 我尝试了一种奇怪的方法,包括lucene contrib中的命中突出显示包,还有一个方法,可以根据最顶层的文档搜索查询中的每个单词(“docId:xy AND description:each_word_in_query”)。 没有得到满意的结果? 点击突出显示不会报告与第一个文档以外的文档匹配的一些单词。 我不确定第二种方法是否是最好的选择。

do-while循环的范围?

在Java中, do-while循环的主体和循环条件不属于同一范围。 所以以下代码将无法编译: do { boolean b = false; } while (b); // b cannot be resolved to a variable 但是这段代码对我有意义。 而且,如果身体和状况在同一范围内,我找不到任何陷阱; 因为正文总是被执行,而Java没有Goto ,所以我不知道如何跳过最外层的do-while体范围中的变量声明。 即使有可能,编译器也总能检测到这种可能性,然后产生编译时错误。 这种行为是否有任何原因(除了将do-while循环保持为do-while相同的格式)? 我很好奇。 感谢您的任何投入!