Java 无法编译此代码,有什么想法吗?

Java 无法编译此代码,有什么想法吗?,java,compiler-errors,Java,Compiler Errors,这段代码似乎不想编译。我对Java编程有点陌生。任何帮助都将不胜感激。错误表示找不到符号 package addressbookexample1; import java.io.*; import java.util.Scanner; public class AddressBookExample1 { private Contact[] friends; private int numfriends; // Create an empty AddressBo

这段代码似乎不想编译。我对Java编程有点陌生。任何帮助都将不胜感激。错误表示找不到符号

package addressbookexample1;

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

public class AddressBookExample1 {

    private Contact[] friends; 
    private int numfriends; 

    // Create an empty AddressBook
    public AddressBookExample1() {
        friends = new Contact[10];
        numfriends = 0;
    }

    // Add a contact that's passed in as a parameter.
    public void addContact(Contact c) {
        friends[numfriends] = c;
        numfriends++;
    }

    // Print out info on all contacts using method Contact class.
    public void printContacts() {
        for (int i = 0; i < numfriends; i++) {
            friends[i].printContact();
        }
    }

    // Returns the number of friends currently in AddressBook
    public int numContacts() {
        return numfriends;
    }


    private int haveContact(String s) {

        for (int i = 0; i < numfriends; i++) {
            if (friends[i].getName().equals(s)) {
                return i;
            }
        }
        return -1;
    }

    // Deletes a contact with name
    public void deleteContact(String s) {

        int place = haveContact(s);
        if (place >= 0) {
            friends[place] = friends[numfriends - 1];
            numfriends--;
        }
    }


    public static void main(String[] args) throws IOException {

        Scanner stdin = new Scanner(System.in);

        // Instantiate AddressBook object
        AddressBook blackbook = new AddressBook();

        // Menu driven loop.
        menu();
        int choice = stdin.nextInt();

        while (choice != 5) {


            if (choice == 1) {

                if (blackbook.numContacts() < 10) {

                    //Reads in all appropriate information.");
                    System.out.println("Enter your friend\'s name:");
                    String name = stdin.next();
                    System.out.println("Enter their age.");
                    int age = stdin.nextInt();
                    System.out.println("Enter their phone number.");
                    int number = stdin.nextInt();
                    System.out.println("Enter the birthday, month on one line, then day on the next.");
                    int mon = stdin.nextInt();
                    int day = stdin.nextInt();


                    blackbook.addContact(new Contact(name, age, number, mon, day));
                } else {
                    System.out.println("Sorry, can not add anyone, your blackbook is full.");
                }
            } 
            else if (choice == 2) {
                System.out.println("What is the name of the contact you want to delete?");
                String name = stdin.next();
                blackbook.deleteContact(name);
            } else if (choice == 3) {
                System.out.println("You have " + blackbook.numContacts() + " contacts.");
            } else if (choice == 4) {
                blackbook.printContacts();
            } else if (choice != 5) {
                System.out.println("Sorry, that was an invalid menu choice, try again.");
            }

            menu();
            choice = stdin.nextInt();
        }

    }

    public static void menu() {
        System.out.println("1.Add a new contact to your address book.");
        System.out.println("2.Delete a contact from your address book.");
        System.out.println("3.Print out the number of contacts you have.");
        System.out.println("4.Print out information of all of your contacts.");
        System.out.println("5.Quit.");
        System.out.println("Enter your menu choice:");
    }
}
PackageAddressBookExample1;
导入java.io.*;
导入java.util.Scanner;
公共类AddressBookExample1{
私人联络[]朋友;
私人国际女朋友;
//创建一个空的通讯簿
公共地址簿示例1(){
朋友=新联系人[10];
numfriends=0;
}
//添加作为参数传入的联系人。
公共联系人(联系人c){
朋友[numfriends]=c;
numfriends++;
}
//使用Contact类方法打印所有联系人的信息。
公共联系人(){
for(int i=0;i=0){
朋友[地点]=朋友[numfriends-1];
女朋友——;
}
}
公共静态void main(字符串[]args)引发IOException{
扫描仪标准输入=新扫描仪(System.in);
//实例化AddressBook对象
AddressBook blackbook=新地址簿();
//菜单驱动循环。
菜单();
int choice=stdin.nextInt();
while(选项!=5){
如果(选项==1){
if(blackbook.numContacts()<10){
//阅读所有适当的信息。”);
System.out.println(“输入您朋友的姓名:”);
字符串名称=stdin.next();
System.out.println(“输入他们的年龄”);
int age=stdin.nextInt();
System.out.println(“输入他们的电话号码”);
int number=stdin.nextInt();
System.out.println(“在一行中输入生日、月份,然后在下一行中输入日期”);
int mon=stdin.nextInt();
int day=stdin.nextInt();
addContact(新联系人(姓名、年龄、号码、周一、周日));
}否则{
System.out.println(“对不起,无法添加任何人,您的黑本已满。”);
}
} 
else if(选项==2){
System.out.println(“您要删除的联系人的姓名是什么?”);
字符串名称=stdin.next();
删除联系人(姓名);
}else if(选项==3){
System.out.println(“您有”+blackbook.numContacts()+“联系人”);
}else if(选项==4){
blackbook.printContacts();
}else if(选项!=5){
System.out.println(“对不起,这是一个无效的菜单选项,请重试。”);
}
菜单();
choice=stdin.nextInt();
}
}
公共静态无效菜单(){
System.out.println(“1.在通讯簿中添加新联系人。”);
System.out.println(“2.从通讯簿中删除联系人。”);
System.out.println(“3.打印出你的联系人数量。”);
System.out.println(“4.打印所有联系人的信息”);
System.out.println(“5.Quit”);
System.out.println(“输入菜单选项:”);
}
}
编译错误 线程“main”java.lang.RuntimeException中的异常:不可编译的源代码-找不到符号 符号:班级通讯录 位置:类addressbookexample1.addressbookexample1
在addressbookexample1.addressbookexample1.main中,Contact类似乎缺失。我假设这也是示例的一部分,您还需要在构建中包含它的源代码。

您尚未定义Contact类查看代码,Contact可能不可用。请尝试编译这两个Contact.java和该类同时使用。

您将其定义为AddressBookExample1,但您正在尝试实例化AddressBook

// Instantiate AddressBook object
AddressBook blackbook = new AddressBook();
改为

AddressBookExample1 blackbook = new AddressBookExample1();

您试图使用AddressBook类,但是您已经定义了AddressBookExample1。

如果这是一个示例,那么示例所在的位置应该有其他代码,用于定义“联系人”和“AddressBook”“上课。您应该确保输入的示例代码与提供的完全一致。也许您已将AddressBook类的名称更改为AddressBookExample1

请复制/粘贴准确的错误消息。行号和错误代码在诊断问题时非常有用。你能复制编译错误吗?它说找不到什么符号?你能发布完整的错误/堆栈跟踪吗?你能提供你得到的错误吗?还有,这看起来像是家庭作业,如果是的话,你能给它贴上这样的标签吗?这只是一个我想弄明白的例子。我如何定义它。非常感谢!这只是我想弄明白的一个例子。我如何定义它。非常感谢!在示例代码中的其他地方查找Contact.java。或者写一个新的。:)