여기에 자세한 내용이 나와 있습니다. java-BlueJ를 사용하여 코딩 중이며 현재 주류 경매를 비롯하여 몇 가지 다른 클래스가 있습니다 : Lot, Person, Bid주어진 숫자로 생성 된 목록에서 숫자를 삭제하십시오.
이 프로그램의 목적은 가격과 함께 항목을 경매에 입력하는 것입니다. 여기서 정보는 가격, 사람 또는 항목 이름/설명인지에 따라 저장됩니다.
이것은 내 getLot 메소드의 코드입니다. 사용자 입력 로트 번호는 로트 번호를 입력했는지 확인해야하기 때문에 lotL에 대한 정보를 표시합니다.이 정보는 removeLot 메소드의 시작점이어야한다고 가정합니다. 유효한 첫 번째.
나는 로트 번호를 입력하여 lot에서 항목을 제거 할 수 있도록 removeLot 메서드를 추가하는 방법을 알아 내려고하고 있습니다.
이것은 해당 섹션의 코드입니다.
public Lot removeLot(int number)
{
if((number >= 1) && (number < nextLotNumber)) {
// The number seems to be reasonable.
Lot selectedLot = lots.get(number - 1);
// Include a confidence check to be sure we have the
// right lot.
if(selectedLot.getNumber() != number) {
System.out.println("Internal error: Lot number " +
selectedLot.getNumber() +
" was returned instead of " +
number);
// Don't return an invalid lot.
selectedLot = null;
}
**else {
Lot.removeIf(selectedLot.getNumber() = number);**
}
return selectedLot;
"**"가있는 else 블록은 내가 추가 한 것으로 지정된 번호를 제거하려고합니다. 그러나 그것은 분명히 잘못되었으며, 나는 무엇을해야할지 모르겠습니다. lots
변수의 데이터 유형은 당신이 코드
public Lot removeLot(int number)
{
Lot selectedLot=null;
if((number >= 1) && (number < nextLotNumber)) {
// The number seems to be reasonable.
selectedLot = lots.get(number - 1);
// Include a confidence check to be sure we have the
// right lot.
if(selectedLot.getNumber() != number) {
System.out.println("Internal error: Lot number " +
selectedLot.getNumber() +
" was returned instead of " +
number);
// Don't return an invalid lot.
selectedLot=null;
}
else {
if(selectedLot.getNumber() = number)
{
lots.remove(number-1);
}
}
return selectedLot;
}