2 주 전에 코드를 작성하는 방법을 배우기 시작했습니다. CharSequence를 사용하는 아이디어에 문제가있는 것처럼 보입니다.CharSequence에 문제가 있습니다.
나는 Throwes의 Game of TV 쇼를 기반으로, 이름, 그들의 충성도 및 그들이 ArrayList를 사용하여 사망했는지 여부를 인쇄 할 수있는 간단한 프로그램을 작성 중입니다. 이 그것이 무엇을 읽고입니다
import java.util.ArrayList;
public class TestGoTCharacters {
public static void main(String[] args) {
// create an arraylist called character
ArrayList<Characters> character = new ArrayList<Characters>();
// character paramaters(name, allegiance, status, season appearance) into the arraylist
character.add(new Characters("Jon Snow", "House Stark, The Nights Watch", "Alive", 1));
character.add(new Characters("Neddard Stark", "House Stark", "Deceased", 1));
character.add(new Characters("Arya Stark", "House Stark, Faceless Men", "Alive", 1));
character.add(new Characters("Catelyn Stark", "House Stark", "Deceased", 1));
character.add(new Characters("Sansa Stark", "House Stark", "Alive", 1));
character.add(new Characters("Bran Stark", "House Stark", "Alive", 1));
character.add(new Characters("Rickon Stark", "House Stark", "Deceased", 1));
character.add(new Characters("Cersei Lannister","House Lannister, House Baratheon", "Alive", 1));
character.add(new Characters("Jamie Lannister", "House Lannister, Kingsguard", "Alive", 1));
character.add(new Characters("Tyrion Lannister", "House Lannister, House Targaryen", "Alive", 1));
character.add(new Characters("Tywin Lannister", "House Lannister", "Deceased", 1));
character.add(new Characters("Robert Baratheon", "House Baratheon, House Baratheon of Kings Landing", "Deceased", 1));
character.add(new Characters("Stannis Baratheon", "House Baratheon, House Baratheon of Dragonstone", "Deceased", 2));
character.add(new Characters("Renly Baratheon", "House Baratheon", "Deceased", 1));
character.add(new Characters("Melissandre", "The lord of light", "Alive", 2));
character.add(new Characters("Margaery Tyrell", "House Tyrell, House Baratheon, House Baratheon of Kings Landing", "Deceased", 2));
character.add(new Characters("Sandor 'The Hound' Clegane", "House Baratheon of Kings Landing, Brotherhood without Banners", "Alive", 1));
character.add(new Characters("Joffrey Baratheon", "House Baratheon of Kings Landing, House Lannister", "Deceased", 1));
character.add(new Characters("Gregor 'The Mountain' Clegane", "House Lannister", "Alive", 1));
character.add(new Characters("Khal Drogo", "Dothraki", "Deceased", 1));
character.add(new Characters("Benjen Stark", "House Stark, The Nights Watch", "Alive", 1));
character.add(new Characters("Ramsay Bolton", "House Bolton", "Deceased", 3));
character.add(new Characters("Daenarys Targayen", "House Targaryen", "Alive", 1));
character.add(new Characters("Viserys Targaryen", "House Targaryen", "Deceased", 1));
character.add(new Characters("Rhaegar Targaryen", "House Targaryen", "Deceased", 7));
character.add(new Characters("Petyr Baelish", "House Baelish", "Alive", 1));
character.add(new Characters("Robb Stark", "House Stark", "Deceased", 1));
character.add(new Characters("Theon Greyjoy", "House Targaryen, House Stark, House Greyjoy", "Alive", 1));
character.add(new Characters("Yara Greyjoy", "House Greyjoy", "Alive", 2));
/* method that reads out names in the array list */
/*
int count = 1;
System.out.println("Some of the characters in Game of Thrones, are: ");
for (int i = 0; i < character.size(); i++) {
System.out.println(count + ". " + character.get(i).getName());
count = count + 1;
}
*/
/* method that finds house allegiances */
System.out.println("\n"); // create a line space
System.out.println("The following characters are loyal to House Stark: ");
CharSequence HouseStark = "House Stark"; // if Allegiance contains House Stark then, print the name
for (int i = 0; i < character.size(); i++) {
// if (characer.get(i_.getallegiance() == "House Stark")
if (character.get(i).getallegiance() == HouseStark)// compares if allegiance paramters is true (equals house stark)
System.out.println(character.get(i).getName());
}
/* method that finds deceased */
/* method that finds characters seen in season 1 */
/* method that finds characters seen other than season 1 */
}
}
이 내 테스트 클래스가
import java.util.ArrayList;
public class Characters {
/* Fields */
private String name;
private String allegiance;
private String status;
private int seasonSeen;
/* Constructor */
public Characters(String name, String allegiance, String status, int seasonSeen) {
this.name = name;
this.allegiance = allegiance;
this.status = status;
this.seasonSeen = seasonSeen;
}
/* Methods */
public String getName() {
return name;
}
public String getallegiance() {
return allegiance;
}
public String getStatus() {
return status;
}
public int getseasonSeen() {
return seasonSeen;
}
}
,하지만 난 "존 눈"에없는 같은 문자를 발견하는 것 :
이 내 문자 클래스입니다 비록 내가 매개 변수 "House Stark, the Nights Watch"에 언급 했음에도 출력물
The following characters are loyal to House Stark:
Neddard Stark
Catelyn Stark
Sansa Stark
Bran Stark
Rickon Stark
Robb Stark
등의 사용
String.contains
나는이'새로운 캐릭터를 무엇을 궁금해 ("존 눈", "하우스 스타크, 밤 시계", "살아", 1)'해결 으로? '/ * Constructor */ 공용 문자 (문자열 이름, 문자열 충성도, 문자열 상태, int seasonSeen)가있는 경우 – nullpointer또한 왜'CharSequence'를 사용해야합니까? http : //stackoverflow.com/questions/1049228/ charsequence-vs-string-in-java – nullpointer