Tag: java

这个while循环有什么问题?

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 ; } 即使input3或123,文本也不会显示,循环也不会终止。 这里怎么了?

内存中将创build多less个string对象?

下面的代码将创build多less个string对象? String s=""; s+=new String("a"); s+="b"; 考试时我有这个问题。 我想知道正确的答案。 我说了2个对象。 包含“”,“b”的池中的对象和由新String(“a”)创build的对象;

recursion地生成列表的所有可能的排列

我试图recursion地生成列表中的所有项目。 我已经看到了类似的问题的一些解决scheme,但我一直无法让我的代码工作。 有人可以指出我可以如何解决我的代码? 这对所有的S / O'er都是开放的,而不仅仅是Java人。 (另外我应该注意,它与SO例外崩溃)。 示例input:[1,2,3] 输出:[1,2,3] [1,3,2] [2,1,3] [2,3,1] [3,1,2] [3,2,1] //allPossibleItems is an AL of all items //this is called with generatePerm(null, new ArrayList<Item>); private void generatePerm(Item i, ArrayList<Item> a) { if(i != null) { a.add(i); } if (a.size() == DESIRED_SIZE){ permutations.add(a); return; } for(int j = 0; j < allPossibleItems.size(); […]

Java:数组索引超出界限例外

System.out.print("Enter an integer: "); Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int lArray = x – 2; int[] newArray = new int[lArray]; System.out.println("Let's display all possible integers…"); for (int i = 0; i <= newArray.length; i++) { newArray[i] = i + 2; System.out.print(newArray[i] + " "); } 我刚刚开始使用Java,但是我确定,如果我用另一种语言编写类似的代码,我将面临同样的问题。 这是一个应用程序的摘录,它列出了所有素数,直到用户input。 之所以用x-2作为lArray的定义是因为数组的长度将是从2到数字{2,3,4,5 … x}的所有整数。 我注意到了这一行 […]

Java Swing保存并加载工作区/设置

我有一个Java Swing应用程序,其中包含一堆框架,而这些框架又主要包含显示大量数据的表格。 由于在启动时安排所有的窗口和表格总是很麻烦,所以我想实现“工作空间”function,这样用户可以保存一个首选项设置,并且在启动时select自动加载存储的工作空间到所有窗口和表格都显示为以前保存的。 具体来说,我希望存储在工作区中的设置是: 活动窗口(JFrame)及其大小和位置在屏幕上 表设置,包括选定的列,列顺序,列宽,sorting,过滤 有没有人知道一个聪明和简单的方法来实现这个没有明显的,什么看起来像一个非常复杂和繁琐的解决scheme迭代所有打开的窗口,并保存每个信息与Preferences api? 谢谢

未报告的exceptionjava.sql.SQLException; 必须被捕获或宣布被抛出?

我试图编译下面的代码时出现这个错误。 我想知道我做错了什么。 未报告的exceptionjava.sql.SQLException; 必须被逮捕或宣布被抛出 的Class.forName(myDriver); ^ private void setupInfo() { Driver driver = new org.gjt.mm.mysql.Driver(); String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; String problemFeatureSpecTableName = "ProblemFeatureSpec"; String solutionFeatureSpectTableName = "SolutionFeatureSpec"; String classTableName = "Class"; String extraDataTableName = "ExtraData"; String casebaseTablename = "CaseBase"; String problemTableName = "Problem"; String solutionTableName = "Solution"; […]

如何设置JTextArea的方向从右到左(在JOptionPane中)

我有JScrollPane与JTextArea里面,我想设置JTextArea的方向从右到左,所以其中的文本将从右侧开始,滚动条将在左侧 我已经尝试了以下,但他们并没有影响方向的方向: txt.applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); txt.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); txt.setAlignmentX(JTextArea.RIGHT_ALIGNMENT); 编辑: 两个答案camickr&trashgod提供了很好的工作,但不是在我的程序中使用我的JTextArea作为对象消息并将其传递给OptionPane。 EDIT2: 我想通了setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 如果我将它应用于JOptionPane内容,则不起作用。有没有其他解决scheme来解决这个问题? 类似于我的代码: import java.awt.*; import java.util.*; import javax.swing.*; public class TextArea extends JPanel { private JTextArea txt = new JTextArea(); public TextArea() { setLayout(new GridLayout()); txt.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); JScrollPane scroll = new JScrollPane(txt); scroll.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); setPreferredSize(new Dimension(200,200)); this.add(scroll); } private void display() { Object[] options = {this}; JOptionPane pane […]

如何在Swing中创build延迟

我做了一个二十一点的游戏,我希望AI玩家在拿牌之间暂停一下。 我试着简单地使用Thread.sleep(x),但是这会让它冻结,直到AI玩家完成所有的卡片。 我知道Swing不是线程安全的,所以我看了一下Timers,但是我不明白怎样才能使用它。 这是我现在的代码: while (JB.total < 21) { try { Thread.sleep(1000); } catch (InterruptedException ex) { System.out.println("Oh noes!"); } switch (getJBTable(JB.total, JB.aces > 0)) { case 0: JB.hit(); break; case 1: break done; case 2: JB.hit(); JB.bet *= 2; break done; } } 顺便说一句,命中(); 方法更新GUI。

EntityManager没有名为X的持久性提供者

我正在开发使用JPA的JavaSE应用程序。 不幸的是,我调用后得到null : Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); 下面你会发现: 我的代码片段调用EntityManagerFactory并意外返回null 我的persistence.xml文件 我的项目结构 我的代码片段: public class Main { private static final String PERSISTENCE_UNIT_NAME = "MeineJpaPU"; private static EntityManagerFactory factory; public static void main(String[] args) { // I get null on this line!!! factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); EntityManager em = factory.createEntityManager(); // do stuff with entity manager … } } 我的persistence.xml: <?xml […]

JDK 8 – “typesjava.util.Map $条目无法parsing”

我试图使用一个HashMap,但得到错误: “typesjava.util.Map $ Entry无法parsing,它是从所需的.class文件间接引用” 我正在使用JDK 8和Eclipse。 有人知道为什么? 我的代码 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.util.Map; import java.util.HashMap; public class Analyser { public void analyse() throws FileNotFoundException { HashMap<String, Integer> candyMap = new HashMap<String, Integer>(); BufferedReader br = new BufferedReader(new FileReader("Candy.txt")); for(String s=br.readLine(); s!=null; s=br.readLine()) { System.out.println(s); } } }