2016-09-20 6 views
-2
public static Attendant askForAtt() { 
    Scanner scanAtt = new Scanner(System.in); 
    Random randAtt = new Random(); 
    Attendant asnAtt; 
    System.out.println("Do you require an attendant? Y or N"); 
    String response = scanAtt.next(); 
    if ((response.equals("yes")) || (response.equals("Yes"))) { 
     // Cars.setAssignedTo(myAtt.get(randAtt.nextInt(myAtt.size()))); 
     asnAtt = myAtt.get(randAtt.nextInt(myAtt.size())); 
    } else if ((response.equals('n')) || (response.equals('N')) || (response.equals("no")) || (response.equals("No"))) { 
     asnAtt = new Attendant("User"); 
    } 

    return asnAtt; 
    //return myAtt.get(randAtt.nextInt(myAtt.size())); 
} 

私はガレージクラスでパラメータを持つ車を作成する関数を持っています。パラメータの1つは、ユーザーが1つのアテンダントクラスを必要とする場合です。クラスオブジェクトを返すか、オブジェクトを持たない

public Cars(String carID, String plateNum, String position, Attendant assignedTo, long currTime) { 
    this.carID = carID; 
    this.plateNum = plateNum; 
    Cars.position = position; 
    Cars.assignedTo = assignedTo; 
    this.currTime = currTime; 
} 

私はできないアテンダントを返す必要があります。私はそれがメソッドの冒頭でnullだと思っていますが、javaは私にそれを初期化するように指示しており、私は何を知っていません。 また、ユーザーがいいえと入力した場合、私は現在、ユーザーと呼ばれる別の種類のアテンダントを返しています。 今はuserと呼ばれる別のアテンダントを作成しなければならないため(これは意味をなさない)、ユーザークラスを作成することができないため、何も返さない方法はありますか?

ガレージクラスの一部が必要な場合は、すぐ下にあります 助けてください... 私は固まっており解決策を見つけることができません。ここに車を作成

public void addCar() { 
    Cars car = new Cars(Cars.getID(), Cars.askCarID(), Cars.getPosition(), Attendant.askForAtt(), System.currentTimeMillis()); 
    myGarage.add(car); 
    //System.out.println(car); 
} 
+1

にこのような何かを、あなたはアテンダントasnAtt = nullに初期化できる理由はありませんか? –

+0

nullを入力するとエラーが発生します – user6852794

+1

どのエラー?例外またはコンパイラエラー?スレッドで –

答えて

0

があなたのaskForAtt方法

public static Attendant askForAtt() { 
     Scanner scanAtt = new Scanner(System.in); 
     Random randAtt = new Random(); 
     Attendant asnAtt = null; 
     System.out.println("Do you require an Attendant ? Y or N"); 
     String response = scanAtt.next(); 
     if ((response.equalsIgnoreCase(("yes")))) { 
      // Cars.setAssignedTo(myAtt.get(randAtt.nextInt(myAtt.size()))); 
      return myAtt.get(randAtt.nextInt(myAtt.size())); 
     } else if ((response.equalsIgnoreCase("n")) || (response.equalsIgnoreCase("no"))) { 
      return new Attendant ("User"); 
     } 
     return new Attendant ("User"); //If input is neither Yes nor No then return new Attendant  
    } 
関連する問題