Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误:应为类、接口或枚举。我的代码似乎很好,所以它一定是其他东西_Java_Compiler Errors - Fatal编程技术网

Java 错误:应为类、接口或枚举。我的代码似乎很好,所以它一定是其他东西

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

我正在尝试编译一个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: 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