Я получаю сообщение об ошибке Java.lang строка не может быть преобразована в student?

#java #string #arraylist

#java #строка #arraylist

Вопрос:

У меня есть метод с именем файла student, в котором они представляют собой набор методов. Мне нужны эти методы для завершения лабораторной работы 13. У меня также есть arraylist объектов student. В моем коде lab 13 я получаю сообщение об ошибке, что я не могу преобразовать строку в Student.

Я перепробовал все, что мог, например, я попытался преобразовать ее, поместив student в начало кода, например student.jessica.addfriend («эмили»). но это все еще не работает. Пожалуйста, помогите мне с моей проблемой.

Это код для lab 13

    import java.util.ArrayList;

public class Lab13
 {
    public static void main(String[] args)
    {
    Student jessica = new Student("Jessica", 23, 
 Student.SocialYear.SENIOR);
    Student henry = new Student("Henry", 16, Student.SocialYear.FRESHMAN);

    String n = jessica.getName();
    System.out.println("One student is "   n   ".");

    System.out.println("This student is "   jessica.getAge()   " years old.");

    System.out.print(henry.getName()   " used to be "   henry.getAge()   " years old.");
    henry.getAge();
    System.out.println(" He just had a birthday and is now "   henry.getAge()   " years old.");

    System.out.println(jessica.getName()   " is a "   jessica.getSocialYear()   ".");

    printVote(jessica);
    printVote(henry);

    // HELP! Modify me to use the updated Student class.
    //What type input parameter should be passed into the method?

    jessica.addFriend("Erin");
    jessica.addFriend("Bert");

    henry.addFriend("Isaac");
    henry.addFriend("Kaley");

    // HELP! Modify me to use the updated Student class.
    //       What type of objects does the ArrayList of friends have?
    printFriend(jessica, "Bert");
    printFriend(henry, "Sam");

    // HELP! Create more instances of the Student class for testing.


    // HELP! Add friends to the ArrayLists of the instances.


    // HELP! Print out the favorite friend of one of the students.


    // HELP! Change the favorite friend of one of the students.
    //       The new favorite should already be a friend of the student.
    //       Print out this new favorite friend.


    // HELP! Print out all the friends of one of the students.


    // HELP! Check to see if a student is friends with another student.
    //       This test should be true (the student should have the friend).


    // HELP! Check to see if a student is friends with another student.
    //       This test should be false (the student should NOT have the friend).


    // HELP! A friend transfers and a student loses track.
    //       The student should unfriend the friend.
    //       Print out the updated list of friends.


}

/**
 * This method prints whether a student can vote based on age.
 * 
 * @param s     A Student object
 */
public static void printVote(Student s)
{
    if (s.canVote()) {
        System.out.println(s.getName()   " can vote.");
    } else {
        System.out.println(s.getName()   " is not old enough to vote.");
    }
}

/**
 * This method prints whether a student knows the friend.
 * 
 * @param s     A Student object
 * @param f     A String representing the friend
 */
public static void printFriend(Student s, String f)
{
    if (s.hasFriend(f)) {
        System.out.println(s.getName()   " is friends with "   f   ".");
    } else {
        System.out.println(s.getName()   " does not know "   f   ".");
    }
}
  

}

Это мой метод student

  import java.util.ArrayList;
 import java.util.Collections;

public class Student
{
public enum SocialYear { FRESHMAN, SOPHOMORE, JUNIOR, SENIOR }

private String name;
private ArrayList<Student> friends;
private int age;
private SocialYear year;

/**
 * Constructor for objects of class Student
 */
public Student(String n, int a, SocialYear sy)
{
    this.name = n;
    this.age = a;
    this.year = sy;
    this.friends = new ArrayList<Student>();
}

public String getName()
{
    return this.name;
}

public int getAge()
{
    return this.age;
}

public void setAge()
{
    this.age  ;
}

public SocialYear getSocialYear()
{
    return this.year;
}

public boolean canVote()
{
    return this.age >= 18;
}

public void addFriend(Student friend)
{
    friends.add(friend);
}

public boolean hasFriend(String friend)
{
    return friends.contains(friend);
}

public void unFriend(Student friend)
{
    friends.remove(friend);
}

public void getFriends()
{
    for(Student s : friends)
    {
        System.out.println(s   ",");
}
}

public Student getFavFriendName()
{  
    return friends.get(0);
}

public void myNewFavFriend(Student friend)
{
    friends.remove(friend);
    friends.add(0, friend);

}    
}
  

Ответ №1:

Метод addFriend принимает Student в качестве аргумента

 public void addFriend(Student friend)
  

Ваш код предоставляет строку.

 jessica.addFriend("Erin");
  

Это сработало бы

 jessica.addFriend(henry);
  

поскольку вы уже создали Student файл с именем Генри.

 Student henry = new Student("Henry", 16, Student.SocialYear.FRESHMAN);
  

Комментарии:

1. итак, что мне делать, как я могу преобразовать ее в student

2. ооо, я понимаю, что ты имеешь в виду