Java 错误:应为类、接口或枚举。我的代码似乎很好,所以它一定是其他东西
我正在尝试编译一个java程序,该程序可以访问SQL数据库,但是当我尝试编译时,我得到以下结果:Java 错误:应为类、接口或枚举。我的代码似乎很好,所以它一定是其他东西,java,compiler-errors,Java,Compiler Errors,我正在尝试编译一个java程序,该程序可以访问SQL数据库,但是当我尝试编译时,我得到以下结果: 2410_bash_scripts % ./DemoDatabase.sh src/main/java/demoDatabase/DemoDatabase.java:81: error: class, interface, or enum expected try ^ src/main/java/demoDatabase/DemoDatabase.java:85: e
2410_bash_scripts % ./DemoDatabase.sh
src/main/java/demoDatabase/DemoDatabase.java:81: error: class, interface, or enum expected
try
^
src/main/java/demoDatabase/DemoDatabase.java:85: error: class, interface, or enum expected
int[] columnWidths = new int[columnCount + 1];
^
src/main/java/demoDatabase/DemoDatabase.java:87: error: class, interface, or enum expected
for(int i = 1; i <= columnCount; i++)
^
src/main/java/demoDatabase/DemoDatabase.java:87: error: class, interface, or enum expected
for(int i = 1; i <= columnCount; i++)
^
src/main/java/demoDatabase/DemoDatabase.java:87: error: class, interface, or enum expected
for(int i = 1; i <= columnCount; i++)
^
src/main/java/demoDatabase/DemoDatabase.java:90: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:95: error: class, interface, or enum expected
for(int i = 1; i <= columnCount; i++)
^
src/main/java/demoDatabase/DemoDatabase.java:95: error: class, interface, or enum expected
for(int i = 1; i <= columnCount; i++)
^
src/main/java/demoDatabase/DemoDatabase.java:98: error: class, interface, or enum expected
System.out.printf(formatString, ResultSet.getObject(i));
^
src/main/java/demoDatabase/DemoDatabase.java:99: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:101: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:106: error: class, interface, or enum expected
e.printStackTrace();
^
src/main/java/demoDatabase/DemoDatabase.java:107: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:115: error: class, interface, or enum expected
System.out.print(" "); //to adjust for the 4 digit IDs
^
src/main/java/demoDatabase/DemoDatabase.java:117: error: class, interface, or enum expected
for(int i = 1; i <= columnCount; i++)
^
src/main/java/demoDatabase/DemoDatabase.java:117: error: class, interface, or enum expected
for(int i = 1; i <= columnCount; i++)
^
src/main/java/demoDatabase/DemoDatabase.java:117: error: class, interface, or enum expected
for(int i = 1; i <= columnCount; i++)
^
src/main/java/demoDatabase/DemoDatabase.java:120: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:123: error: class, interface, or enum expected
} catch(SQLException e)
^
src/main/java/demoDatabase/DemoDatabase.java:126: error: class, interface, or enum expected
e.printStackTrace();
^
src/main/java/demoDatabase/DemoDatabase.java:127: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:130: error: class, interface, or enum expected
public static void main(String[] args)
^
src/main/java/demoDatabase/DemoDatabase.java:136: error: class, interface, or enum expected
System.out.println(studentList);
^
src/main/java/demoDatabase/DemoDatabase.java:138: error: class, interface, or enum expected
System.out.println("List of all students: ");
^
src/main/java/demoDatabase/DemoDatabase.java:139: error: class, interface, or enum expected
for(Student s : studentList)
^
src/main/java/demoDatabase/DemoDatabase.java:142: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:145: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:147: error: class, interface, or enum expected
public static List<Student> getAllStudents()
^
src/main/java/demoDatabase/DemoDatabase.java:151: error: class, interface, or enum expected
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
^
src/main/java/demoDatabase/DemoDatabase.java:151: error: class, interface, or enum expected
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
^
src/main/java/demoDatabase/DemoDatabase.java:151: error: class, interface, or enum expected
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
^
src/main/java/demoDatabase/DemoDatabase.java:157: error: class, interface, or enum expected
while(rs.next())
^
src/main/java/demoDatabase/DemoDatabase.java:160: error: class, interface, or enum expected
String firstName = rs.getString(2);
^
src/main/java/demoDatabase/DemoDatabase.java:161: error: class, interface, or enum expected
String lastName = rs.getString(3);
^
src/main/java/demoDatabase/DemoDatabase.java:162: error: class, interface, or enum expected
String major = rs.getString(4);
^
src/main/java/demoDatabase/DemoDatabase.java:163: error: class, interface, or enum expected
int gradYear = rs.getInt(5);
^
src/main/java/demoDatabase/DemoDatabase.java:165: error: class, interface, or enum expected
students.add(new Student(id, firstName, lastName, major, gradYear));
^
src/main/java/demoDatabase/DemoDatabase.java:166: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:172: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:174: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:176: error: class, interface, or enum expected
public static void printQueryResults(String... queries)
^
src/main/java/demoDatabase/DemoDatabase.java:178: error: class, interface, or enum expected
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
^
src/main/java/demoDatabase/DemoDatabase.java:178: error: class, interface, or enum expected
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
^
src/main/java/demoDatabase/DemoDatabase.java:183: error: class, interface, or enum expected
printResults(rs);
^
src/main/java/demoDatabase/DemoDatabase.java:184: error: class, interface, or enum expected
System.out.println();
^
src/main/java/demoDatabase/DemoDatabase.java:185: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:190: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:193: error: class, interface, or enum expected
public static void execute(String sqlStatement)
^
src/main/java/demoDatabase/DemoDatabase.java:195: error: class, interface, or enum expected
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
^
src/main/java/demoDatabase/DemoDatabase.java:195: error: class, interface, or enum expected
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
^
src/main/java/demoDatabase/DemoDatabase.java:200: error: class, interface, or enum expected
}
^
src/main/java/demoDatabase/DemoDatabase.java:204: error: class, interface, or enum expected
}
^
52 errors
我的lib文件夹中有一个名为derby.jar的依赖项,这是数据库。我查了一下错误,我很确定这不是一个大括号。我甚至不知道从哪里开始这个错误,因为我以前从未收到过它。上面代码中的第81行是哪一行?你的
printDataSets
方法在右括号后有一个错误的分号。它后面是一个}
,而不是{/code>。我真的建议你不要声明“我的代码看起来不错,所以它一定是其他东西。”只有在出现某种代码问题时,才会出现这种错误,尽管它可能只有一个字符,包括一个拼写错误。然后它会启动一个巨大的错误链,当拼写错误被纠正时,这些错误就会被清除。@NomadMaker很公平。
package demoDatabase;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
//import java.util.*;
public class DemoDatabase
{
private static final String databaseUrl = "jdbc:derby:FirstDatabase;create = true";
/**
* Prints result set
*
* @param ResultSet
*/
private static void printResults(ResultSet ResultSet)
{
try
{
ResultSetMetaData metadata = ResultSet.getMetaData();
printHeader(metadata);
printDataSets(ResultSet, metadata);
}
catch (SQLException e)
{
System.out.println("A problem occurred accessing the metadata");
e.printStackTrace();
}
}
private static void printDataSets(ResultSet ResultSet, ResultSetMetaData metadata);
}
try
{
int columnCount = metadata.getColumnCount();
// create an array that stores the widths of the colums
int[] columnWidths = new int[columnCount + 1];
for(int i = 1; i <= columnCount; i++)
{
columnWidths[i] = metadata.getColumnLabel(i).length();
}
//print data records in straight columns
while(ResultSet.next())
{
for(int i = 1; i <= columnCount; i++)
{
String formatString = "%-" + columnWidths[i] + "s ";
System.out.printf(formatString, ResultSet.getObject(i));
}
System.out.println();
}
} catch (SQLException e)
{
// TODO Auto-generated catch block
System.out.println("A problem occured pritung the data records.");
e.printStackTrace();
}
}
private static void printHeader(ResultSetMetaData metadata)
{
try
{
int columnCount = metadata.getColumnCount();
System.out.print(" "); //to adjust for the 4 digit IDs
for(int i = 1; i <= columnCount; i++)
{
System.out.print(metadata.getColumnLabel(i) + " ");
}
System.out.println();
} catch(SQLException e)
{
System.out.println("A problem occurred accessing the metadata.");
e.printStackTrace();
}
}
public static void main(String[] args)
{
// executeQuery(SqlStudent.getAll(), SqlCollege.getAll(), SqlStudentCollege.getAll(),
// SqlStudentCollege.getStudentNamesAndColleges);
List<Student> studentList = getAllStudents();
System.out.println(studentList);
System.out.println("List of all students: ");
for(Student s : studentList)
{
System.out.println(s);
}
System.out.println("\ndone.");
}
public static List<Student> getAllStudents()
{
List<Student> students = new ArrayList<>();
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
{
ResultSet rs = statement.executeQuery(SqlStudent.getAll());
// add students to list
//add data records to list
while(rs.next())
{
int id = (rs.getObject(1);
String firstName = rs.getString(2);
String lastName = rs.getString(3);
String major = rs.getString(4);
int gradYear = rs.getInt(5);
students.add(new Student(id, firstName, lastName, major, gradYear));
}
}
catch (SQLException e)
{
e.printStackTrace();
}
return students;
}
public static void printQueryResults(String... queries)
{
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
{
for(String query : queries)
{
ResultSet rs = statement.executeQuery(query);
printResults(rs);
System.out.println();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public static void execute(String sqlStatement)
{
try (Connection connection = DriverManager.getConnection(databaseUrl); Statement statement = connection.createStatement();)
{
statement.execute(sqlStatement);
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
#! #!/usr/bin/env bash
cd /.../SqlDemo # excluding my full classpath here
javac -d bin -cp lib/derby.jar src/main/java/demoDatabase/DemoDatabase.java src/main/java/demoDatabase/SqlCollege.java src/main/java/demoDatabase/SqlStudent.java src/main/java/demoDatabase/SqlStudentCollege.java
java -cp bin:lib/derby.jar demoDatabase.DemoDatabase demoDatabase.SqlCollege demoDatabase.SqlStudent demoDatabase.SqlStudentCollege