자바 프로그램을 사용하여 비행 세부 사항을 추가했으며 비교자를 사용하여 비행 이름을 기준으로 정렬 작업을 수행하려고합니다. 하지만이 줄에 Flight.java에서 컴파일 오류가 발생합니다 .... Collections.sort (flightObject, new Compareid());오브젝트 arrylist의 정렬 요소에 비교 사용하기
package com.flight;
import java.util.*;
public class Flight
{
public String flightName;
public String source;
public String destination;
public int flightId;
public int flightFare;
public Flight(String flightName,int flightId,String source, String destination, int flightFare)
{
super();
this.flightName = flightName;
this.source = source;
this.destination = destination;
this.flightId = flightId;
this.flightFare = flightFare;
}
public String getFlightName()
{
return flightName;
}
public int getFlightId()
{
return flightId;
}
public String getSource() {
return source;
}
public String getDestination() {
return destination;
}
public int getFlightFare() {
return flightFare;
}
public boolean searchFlight(int originalFlightId, int newFlightId)
{
if(originalFlightId==newFlightId)
{
return true;
}
else
{
return false;
}
}
class Compareid implements Comparator<Flight>{
public int compare(Flight flightObject1,Flight flightObject2){
return (flightObject1.flightName.compareTo (flightObject2.flightName));
}
}
}
이 메인 클래스입니다 .............
package com.main;
import com.flight.*;
import java.util.*;
public class HighFly
{
public static void main(String[] args)
{
Flight indigo=new Flight("Indigo",1000,"Trivandrum","Dubai",25000);
Flight emirates=new Flight("Emirates",1001,"Dehi","US",30000);
Flight airindia=new Flight("Air India",1002,"Kochi","Malaysia",29000);
ArrayList<Flight>flightList=new ArrayList<Flight>();
flightList.add(indigo);
flightList.add(emirates);
flightList.add(airindia);
System.out.println("FlightId FlightName Source Destination Fare");
for(Flight flightObject:flightList)
{
System.out.print(flightObject.getFlightId());
System.out.print("\t\t"+flightObject.getFlightName());
System.out.print("\t\t"+flightObject.getSource());
System.out.print("\t\t"+flightObject.getDestination());
System.out.println("\t\t"+flightObject.getFlightFare());
}
//SEARCHING FLIGHT EXISTS
System.out.println("Enter flight id");
Scanner scanner= new Scanner(System.in);
int checkFlightId=scanner.nextInt();
for(Flight flightObject:flightList)
{
if(flightObject.searchFlight(flightObject.flightId,checkFlightId))
{
System.out.println("Success");
}
else
{
System.out.println("Not success");
}
}
//*********sorting***********
for(Flight flightObject:flightList)
{
Collections.sort(flightObject,new Compareid());
}
System.out.println(" after sorting ");
System.out.println("FlightId FlightName Source Destination Fare");
for(Flight flightObject:flightList)
{
System.out.print(flightObject.getFlightId());
System.out.print("\t\t"+flightObject.getFlightName());
System.out.print("\t\t"+flightObject.getSource());
System.out.print("\t\t"+flightObject.getDestination());
System.out.println("\t\t"+flightObject.getFlightFare());
}
}
}
날이 문제를 해결하는 데 도움이됩니다. 나는 arraylist에서 이것을 구현하고 싶다. 다음 코드에서 오류를 찾으십시오.
되고 오류가 ... –
그리고, 코드를 포맷하십시오. 귀하의 들여 쓰기가 모든 곳에서 이루어지기 때문에 읽는 것이 매우 어렵습니다. –
어떤 오류가 발생하고 있습니까? 귀하의 질문에 답변을 추가하십시오. – byteC0de