좋아요, 코드는 꽤 간단합니다. generic 클래스 ourSet은 일부 요소를 가져와 LinkedList에 넣고 두 세트의 일부 함수를 수행합니다.스캐너 입력 허용 while 루프 내의 모든 다른 입력을 건너 뛰는 문자열입니다.
내 문제는 실제로 프로젝트의 일반적인 개념과는 관계가 없다. 내가 만든이 "사용자 입력 인터페이스"에 더 많은 것이있다. 나는 어떤 String을 받아 들여 세트에 추가하고, "EXIT"(모든 대문자) 문자열을 받고, 루프를 종료하고, 다음 세트를 위해 같은 것을 수행하기를 원합니다. 일어나고있는 일은 do while 루프가 모든 홀수에 대해서만 1, 3, 5 번째를 보내는 것입니다.
package set.pkgclass;
import java.util.Scanner;
import java.util.LinkedList;
public class SetClass {
public static void main(String[] args) {
ourSet<String> set1 = new ourSet<String>();
ourSet<String> set2 = new ourSet<String>();
Scanner input = new Scanner(System.in);
System.out.println("Please enter a string to put in set 1, "
+ "type EXIT (in all caps) to end.");
do {
set1.add(input.nextLine());
}
while (!"EXIT".equals(input.nextLine()));
System.out.println("Please enter a string to put in set 2, "
+ "type EXIT (in all caps) to end");
do {
set2.add(input.nextLine());
}
while (!"EXIT".equals(input.nextLine()));
ourSet.intersection(set1,set2);
ourSet.difference(set1, set2);
ourSet.union(set1, set2);
}
}
class ourSet<T>{
private LinkedList<T> mySet = new LinkedList<>();
public void add(T element){
mySet.add(element);
}
public void remove(T element){
mySet.remove(element);
}
public boolean membership(T element){
if(mySet.contains(element) == true) {
return true;
}
else {
return false;
}
}
public static <T> void union(ourSet<T> s1, ourSet<T> s2){
System.out.print("The union is: ");
for (int i=0; i < s1.mySet.size(); i++) {
T t = s1.mySet.get(i);
if (!s2.mySet.contains(t)){
s2.add(t);
}
}
for (int i=0; i < s2.mySet.size(); i++){
T t = s2.mySet.get(i);
System.out.print(t+", ");
}
System.out.println();
}
public static <T> void intersection(ourSet<T> s1, ourSet<T> s2){
System.out.print("The intersection is: ");
for (int i=0; i < s1.mySet.size(); i++) {
T t = s1.mySet.get(i);
if (s2.mySet.contains(t)) {
System.out.print(t+", ");
}
}
System.out.println();
}
public static <T> void difference(ourSet<T> s1, ourSet<T> s2){
System.out.print("The difference is: ");
for (int i=0; i < s1.mySet.size(); i++) {
T t = s1.mySet.get(i);
if (!s2.mySet.contains(t)) {
System.out.print(t+", ");
}
}
System.out.println();
}
}
음. 그는 "그 답이"도움이되지 않는지를 알 수있는 "대답"을 찾을 기회가 없었습니다. 하지만 이봐, 이건 단지 논평 할 수 없어요. 그냥 그에게 링크를주고 snarky하지 마십시오. 이것은 "개발자는 배우고, 공유하고, 경력을 쌓을 수 있습니다."라고 광고되는 곳입니다. 초보자가 당당한 질문을하는 것을 두려워하지 않는 곳은 아닙니다. 그것은 시작하는 누군가를위한 공정한 질문입니다. 아무 것도 할 필요가 없습니다. – DSlomer64