Tag: return

在Java中返回/停止在keypress上执行函数

我的程序中有一定的function,我想在按键时停止。 我为此设置了一个本机键盘钩子。 现在,当检测到该键时,我调用System.exit(0)。 但是,我不想退出程序,只是停止该操作并返回到它所调用的位置。 下面给出一个例子。 public class Main { public static void main(String[] args) { System.out.println(“Calling function that can be stopped with CTRL+C”); foo(); // Should return when CTRL+C is pressed System.out.println(“Function has returned”); } } 我已经尝试将调用foo()放在一个线程中,所以我可以调用Thread.interrupt()但我希望函数调用是阻塞的,而不是非阻塞的。 在foo()还有阻塞IO调用,所以我宁愿不处理中断,除非有必要,因为我必须处理ClosedByInterruptExceptionexception并且之前已经引起了问题。 foo()的主体也很长,里面有很多函数调用,所以写if (stop == true) return; 在函数中不是一个选项。 有没有比制作阻塞线程更好的方法呢? 如果是这样,怎么样? 如果没有,我将如何制作阻止线程?

Java的System.exit(0); vs C ++返回0;

当我们在学校学习C ++时,我们的教授会告诉我们写return 0; 在主函数的最后一行代码中,它被认为是一种很好的编程实践。 在Java中,我意识到有些人写了System.exit(0); 在主要方法的最后一行。 但是,在C ++中,如果我使用exit(0); 我受到了教授的惩罚,因为(在学校里)进行程序编程,我们应该让程序流到主程结束,让程序自然停止。 我的问题 :是Java的System.exit(0); 类似于C ++的return 0; ? (或者它类似于C ++的exit(0) ) 在不需要的时候在java中使用System.exit(0)是不好的做法(即:在main方法的最后一行写它)?

此方法必须返回boolean(Java)类型的结果

这是我的代码。 boolean checkHit2() { if (cx = 640) {return true;} if (cy < ground[(int)cx]) {return false;} if (cx blue – 15) { score = (int)score + 1; 我究竟做错了什么? 它给我错误消息“此方法必须返回类型为boolean的结果”。 请帮忙。

Java返回一个空列表

我有我的Java方法如下; public List findAll(String lang) { Query query = entityManager.createNamedQuery(“Lookup.findAll”); if (isValidLang(lang)) { query.setParameter(“lang”, lang); return query.getResultList(); } else { //return empty list } } 现在该方法返回List以获得有效的lang匹配。 但如果不是这样,我想返回一个空列表。 我的问题是如何更新代码以及返回空列表的最佳方法是什么,以便代码不会失败?

缺少Java中的return语句错误

我目前正在用Java编写一个回文测试器,用于我在高中学习的课程。 我已经向老师求助了,他也很困惑。 我希望stackoverflow上的社区可以帮助我。 谢谢。 public class Palindrome { private String sentence; public Palindrome(String s) { sentence = s; } public boolean isPalindrome() { if(sentence.length() <= 1) { return true; } if(sentence.charAt(0) == sentence.charAt(sentence.length()-1)) { sentence = sentence.substring(1, sentence.length()-1); isPalindrome(); } else return false; } }