1.请问我这个程序的错误到底在哪呢
文件名为amtlab.java程序:
package com.amtlab;
import java.io.PrintStream;
import java.sql.*;
public class amtlab
{   
  public static void main(String[] args) 
  {
     public amtlab() /*编译器提示为illegal start of expression public amtlab() */
    {                                                          ^
      String sDBDriver;
      String ConnStr;
      Connection con;
      ResultSet rs;
      sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
      sConnStr ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=amtlab";
      con = null;
      rs = null;
      try {
        Class.forName(sDBDriver);
      }
      catch (ClassNotFoundException classnotfoundexception) 
      {
        System.err.println(classnotfoundexception.getMessage());
      }    }    public ResultSet executeQuery(String s) {
      try {
        con = DriverManager.getConnection(sConnStr, "sa", "***********");
        Statement statement = con.createStatement(1003, 1007);
        rs = statement.executeQuery(s);
      }
      catch (SQLException sqlexception) {
        System.err.println(sqlexception.getMessage());
      }
      return rs;
    }    public int executeUpdate(String s) {
      int i = 0;
      try {
        con = DriverManager.getConnection(sConnStr, "sa", "**********");
        Statement statement = con.createStatement();
        i = statement.executeUpdate(s);
      }
      catch (SQLException sqlexception) {
        System.err.println(sqlexception.getMessage());
      }
      return i;
    }/*编译器提示为 ';'excepted */
  }
}
amtlab.java所在的完整路径为D:\amtlab\WEB-INF\classes\com\amtlab
我在编译之前设置了包的路径为classpath:D:\amtlab\WEB-INF\classes; 
编译时写的语句为D:\>javac amtlab\WEB-INF\classes\com\amtlab.amtlab.java 
2.我想引用自己定义的包,为什么编译时说找不到包,该怎么给自己定义的包设置路径,让编译器能找到?(请尽量举一个实际的例子好吗?)
希望高手帮帮小弟!!如果谁能帮我解决,分不够尽量提,谢谢各位了!!
    

解决方案 »

  1.   

    public static void main 方法里面怎么写了一个构造函数?如果是普通函数需要返回类型
      

  2.   

    在classpath里设置你要引用的包,然后import就行了。
    你试试到当前目录下去编译,文件名不要搞错了。
      

  3.   

    首先java不支持嵌套定义,楼主的main函数和其他函数的位置不对。其次,楼主定义的public ResultSet executeQuery(String s) ,public int executeUpdate(String s) ,两个函数根本就没有调用,不知道想做什么。
      

  4.   

    import java.io.PrintStream;
    import java.sql.*;
    class amtlab
    {   
        String sDBDriver;
        String sConnStr;
        Connection con;
        ResultSet rs;
        public static void main(String[] args) 
        {
            new amtlab();
        }
        public amtlab() /*编译器提示为illegal start of expression public amtlab() */
        {                                                          ^
            sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
        sConnStr ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=amtlab";
        con = null;
        rs = null;
        try {
            Class.forName(sDBDriver);
        }
        catch (ClassNotFoundException classnotfoundexception) 
        {
            System.err.println(classnotfoundexception.getMessage());
        }
        
        }
        
        public ResultSet executeQuery(String s) {
            try {
                con = DriverManager.getConnection(sConnStr, "sa", "***********");
                Statement statement = con.createStatement(1003, 1007);
                rs = statement.executeQuery(s);
            }
            catch (SQLException sqlexception) {
                System.err.println(sqlexception.getMessage());
            }
            return rs;
        }
        
        public int executeUpdate(String s) {
            int i = 0;
            try {
                con = DriverManager.getConnection(sConnStr, "sa", "**********");
                Statement statement = con.createStatement();
                i = statement.executeUpdate(s);
            }
            catch (SQLException sqlexception) {
                System.err.println(sqlexception.getMessage());
            }
            return i;
        }/*编译器提示为 ';'excepted */
        
    }
    改成这样试试