错误:找不到符号[编译错误]无法调用另一个类

时间:2014-07-04 20:31:15

标签: java find symbols

所以我被分配了一个程序,可以在车展厅中保存潜在客户的详细信息。所以我把它分成三个模块/类,我得到了这个。请帮帮我。

package CarSales;
import java.io.Console;
import java.sql.*;
import java.util.Scanner;
public class Startup
{
static public void main(String args[])
{
    try{    
    Monitor mainmon=new Monitor();
    Admin mainadm=new Admin();
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost/carsales","root","pass");
    Statement mainst1=con.createStatement();
    Scanner mainscn=new Scanner(System.in);
    String roll=null,Pass=null;
    String mainchoice;
    do
    {
    System.out.println("Enter your login Id");
    String Log_in=mainscn.next();
    ResultSet mainrs=mainst1.executeQuery("select Role,Password from login where login_id =\""+Log_in+"\"");
    while(mainrs.next())
    {
         roll=mainrs.getString("Role");
         Pass=mainrs.getString("Password");
    }
    System.out.println("Enter your password");
    Console c=System.console();
    String mainpass=new String(c.readPassword());
    if(mainpass.equals(Pass))
    {
        System.out.println("Authentic Login");
        if(roll.equals("Administrator"))
        {
            mainadm.calladm();
        }
        else if(roll.equals("Monitor"))
        {
            mainmon.callmon();
        }
    }
    else
    System.out.println("Wrong Password");
    System.out.println("Do you wish to use another account(Y/N)");
    mainchoice=mainscn.next();
    }while(mainchoice.equalsIgnoreCase("Y")==true);
    }catch(Exception e){
    e.printStackTrace();}
    }
}`

这是主要的课程

import java.sql.*;
import java.util.Scanner;

public class Monitor
{   
public void callmon() throws Exception
{   
    String monchoice="Y";
    Scanner monscn0=new Scanner(System.in);
    do
    {
        Monitor monobj0=new Monitor();
        System.out.println("Welcome Monitor\n1.Add new prospect\n2.Update prospect details\n3.View all prospects(Press number key)");
        int menu=monscn0.nextInt();
        switch(menu)
        {
        case 1:
            monobj0.add();
            break;
        case 2:
            monobj0.update();
            break;
        case 3:
            monobj0.view();         
            break;
        default:
        break;
        }
    }while(monchoice.equalsIgnoreCase("Y")==true);
    System.out.println("Do you wish to continue(Y/N)");
    monchoice=monscn0.next();
}

这是没有fxns的监控类,因为他们在找到错误时不一定是必要的。

import java.sql.*;
import java.util.Scanner;
import java.io.Console;

public class Admin
{   
public void calladm() throws Exception
{
    String c;
    do
    {
        Admin admobj0=new Admin();
        System.out.println("Welcome Administrator. Enter your choice\n1.Modify Accounts 2.View all Monitor Accounts\n3.Search/View Prospects 4.Delete Prospect Record");
        Scanner admscn0=new Scanner(System.in);
        int var0=admscn0.nextInt();
        switch(var0)
        {
            case 1:
            admobj0.modify();
            break;
            case 2:
            admobj0.viewmon();
            break;
            case 3: 
            admobj0.viewpro();
            break;
            case 4:
            admobj0.deletepro();
            break;
            default:
            break;
        }
    System.out.println("Do you wish to continue");
    c=admscn0.next();
    }while(c.equalsIgnoreCase("Y")==true);
}

这是没有fxns的管理员课程......

Startup.java:10: error: cannot find symbol
    Monitor mainmon=new Monitor();
    ^
  symbol:   class Monitor
  location: class Startup
Startup.java:10: error: cannot find symbol
    Monitor mainmon=new Monitor();
                        ^
  symbol:   class Monitor
  location: class Startup
Startup.java:11: error: cannot find symbol
    Admin mainadm=new Admin();
    ^
  symbol:   class Admin
  location: class Startup
Startup.java:11: error: cannot find symbol
    Admin mainadm=new Admin();
                      ^
  symbol:   class Admin
  location: class Startup
4 errors

这是我每次编译Startup.java时得到的错误 其他的已经编译好了。

1 个答案:

答案 0 :(得分:0)

您必须在Startup.class中导入Monitor.class和Admin.class,因为它们位于不同的包中。因为Monitor和Admin是默认包,所以您可能想要创建一个包并将它们放在那里,以便导入它们。 例如:

  1. 创建包工具
  2. 在包工具中添加监视器和管理员
  3. 启动导入监视器和管理员中的
  4. 导入工具。*