내 주 클래스에서 compare
메서드에 인수를 제공하려면 어떻게합니까? 왜냐하면 객체 입력을 요구하기 때문입니다.비교 메서드가 형식 ASSIGNRES에 대해 정의되지 않았습니다
The method compare(String, String) is undefined for the type ASSIGNRES;
package com.jspiders.Collection;
public class SStudent
{
int id;
String name;
int marks;
SStudent(int id,String name,int marks)
{
this.id=id;
this.name=name;
this.marks=marks;
}
}
package com.jspiders.Collection;
import java.util.Comparator;
public class Id implements Comparator
{
public int compare(Object o1,Object o2)
{
Student s1=(Student)o1;
Student s2=(Student)o2;
if(s1.id==s2.id)
return 0;
else if(s1.id>s2.id)
return 1;
else
return -1;
}
}
package com.jspiders.Collection;
import java.util.Comparator;
public class Name implements Comparator
{
public int compare(Object o3,Object o4)
{
Student s3=(Student)o3;
Student s4=(Student)o4;
return s3.name.compareTo(s4.name);
}
}
package com.jspiders.Collection;
public class Marks
{
public int compare(Object o5,Object o6)
{
Student s5=(Student)o5;
Student s6=(Student)o6;
if(s5.marks==s6.marks)
return 0;
else if(s5.marks>s6.marks)
return 1;
else
return -1;
}
}
package com.jspiders.Collection;
import java.util.Scanner;
public class ASSIGNRES
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
/*While(true)
{
System.out.println("create id");
System.out.println("create name");
System.out.println("create marks");
System.out.println("enter the choice");*/
int choice=sc.nextInt();
switch(choice)
{
case 1:System.out.println("enter the id no");
int idd=sc.nextInt();
int idd1=sc.nextInt();
Object ans=(int)idd;
Object ans1=(int)idd1;
compare(ans, ans1);
break;
case 2:System.out.println("enter the name");
String name1=sc.next();
String name2=sc.next();
compare(name1,name2);
break;
case 3:System.out.println("enter the marks");
int marks1=sc.nextInt();
int marks2=sc.nextInt();
compare(marks1,marks2);
break;
}
}
}
오류 메시지가 표시됩니다. 'ASSIGNRES' 내에 정의 된'compare (String, String)'메서드가 없습니다. 위에서 정의한'compare (Object, Object)'중 하나를'ASSIGNRES'로 옮기려고하면'Integer'를'Student'로 변환 할 수 없으므로'ClassCastException'으로 끝납니다. – Turing85
그래서 내가해야 할 일을 극복하기 위해서? –
사례 2와 3에서 무엇을 비교합니까? 객체를 사용해야합니까? 그렇다면 객체는 무엇입니까? – MaxZoom