我正在日食中做作业,它没有报错,甚至没有警告.当我尝试从终端编译它时,我得到了以下错误.它通过eclipse运行并编译得很好.我认为它与java版本有关?无论如何要解决它或试图绕过它?
vedran@vedran-debian:~/java/oop/Aufgabe6$ java Test
Exception in thread "main" java.lang.UnsupportedClassVersionError: Test : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: Test. Program will exit.
Run Code Online (Sandbox Code Playgroud)
Java版本:
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-1)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
Run Code Online (Sandbox Code Playgroud)
编辑:
谢谢大家的解释.这似乎是一个java6/7问题.我只是用1.6编译它,它就像魅力一样.
~~~~~@debian:~/Workspace/SEPM1$ java -cp lib/hsqldb.jar org.hsqldb.server.Server -database.0 mydb -dbname.0 SEPM1
[Server@46f5c8fb]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@46f5c8fb]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@46f5c8fb]: Startup sequence initiated from main() method
[Server@46f5c8fb]: Loaded properties from [/home/~~~~~/Workspace/SEPM1/server.properties]
[Server@46f5c8fb]: Initiating startup sequence...
[Server@46f5c8fb]: [Thread[HSQLDB Server @46f5c8fb,5,main]]: run()/openServerSocket():
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:128)
at org.hsqldb.server.HsqlSocketFactory.createServerSocket(Unknown Source)
at org.hsqldb.server.Server.openServerSocket(Unknown Source)
at org.hsqldb.server.Server.run(Unknown Source)
at org.hsqldb.server.Server.access$000(Unknown Source)
at org.hsqldb.server.Server$ServerThread.run(Unknown Source)
[Server@46f5c8fb]: Initiating shutdown sequence...
[Server@46f5c8fb]: Shutdown sequence completed in 5 ms. …
Run Code Online (Sandbox Code Playgroud) 我有一个Personnel课程,我在那里存储所有类型的学生,教授,导师......
class Personnel {
ArrayList<Student> activeStudentsList = new ArrayList<Student>();
}
Run Code Online (Sandbox Code Playgroud)
我有一个班级学生
class Student extends Person {
public Student (String studentID, String firstName, String lastName) {
super(firstName, lastName);
this.studentID = studentID;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在将学生添加到数组列表之前我想要做的是检查他是否已经存在.我在用这个:
private boolean isStudentActive(String studentID) {
if (activeStudentsList.contains(studentID)) {
System.out.println("The student " + studentID + " is already on the list.");
return true;
} else
return false;
}
Run Code Online (Sandbox Code Playgroud)
问题是,我的数组列表是ArrayList<Student>
,所以我无法搜索特定的String(studentID
).我该怎么做呢?我如何只搜索studentID
列表中每个对象的字符串?编辑:(有什么东西喜欢activeStudentsList.studentID.contains(studentID)
吗?)
我做了一个简单的搜索gui方法来搜索数据库中的产品,它的工作完美无瑕.但是,在搜索完成后,我想重置(用于获取搜索参数的JTextFields)为空白.是否有一种方法可以在不调用其他实例的情况下执行此操作
假设我们只有一个带有int ID的简单对象Person来识别它.如何为Person的每个新实例提供新的ID值(+1),但是在该类Person的构造函数中?(我没有使用DB)
我target
在MainFraim中有一个主JPanel ,另一个currentView
JPanel添加到target
面板中.target
面板包含带有侦听器的按钮.然后假设这些听众改变了curretView
面板的内容,如下所示:
private JPanel currentPanel;
public void setView(String type) {
if (type.equals("overall")) {
this.currentPanel = getOverallView();
frame.setTitle("BookingCalendar - Overall View");
frame.validate();
} else if (type.equals("guest")) {
this.currentPanel = getGuestView();
frame.setTitle("BookingCalendar - Room View");
frame.validate();
} else if (type.equals("room")) {
currentPanel.removeAll();
this.currentPanel = getRoomView();
frame.setTitle("BookingCalendar - Guest View");
frame.validate();
}
}
Run Code Online (Sandbox Code Playgroud)
我调用的每个方法每次调用时都会返回新的JPanel:
JPanel currentPanel = new JPanel(new MigLayout("","20 [grow, fill] 10 [grow, fill] 20", "20 [] 10 [] 20"))
Run Code Online (Sandbox Code Playgroud)
问题是,每当我调用这些方法时,面板都不会改变.它总是保持不变(默认:getOverallView() …
我有四节课.类Person
,以及三个多,Student
,Professor
,Tutor
,其中的每一个延伸类Person.Class Person有2个变量studentID
和staffID
.但是,只有学生可以拥有studentID != null
,而导师和教授可以拥有staffID != null
.现在在创建新对象Student时,如何确保无论staffID始终保持为null?staffID必须保留在Class Person中,所以不要移动它.
我不敢相信谷歌搜索时找不到.我编程的每个JTable都自动填充了来自数据库的数据,任何编辑都是通过监听器完成的,但现在出于测试目的,我只有一个简单的3x3表,我不知道如何在代码中手动选择一个单元格(为了改变bg)用于测试目的的颜色),类似table.cellAt(1,1).setBGcolor ...
编辑:由于标题不是一个问题,我如何在我的代码中手动选择一个单元格?
我有这个小代码
File source;
if ( !source.exists() ) {
source = new File("instances/student"+student.getStudentID()+".data");
}
Run Code Online (Sandbox Code Playgroud)
问题是,源未初始化.由于重点是检查它是否存在,我该如何避免这种情况?