-1

私はJavaが初めてで、うまくいっていません。助けが必要です。「RestaurantObject」というクラスがあり、メインでそのクラスからオブジェクトを作成しようとしています。そのオブジェクトの変数の 1 つが配列であるため、問題が発生しています。私はそこに何を置くべきか本当にわかりません。

これが私のメインです:

public class MyRestaurantObject {
     public static void main(String[] args) {

     RestaurantObject mcDonalds = new RestaurantObject("McDonalds", "McDonalds Menu", **WHAT GOES HERE?**);

これが私のクラス「RestaurantObjects」のコードです

public class RestaurantObject {

private static final Object[] String = null;
private String restaurantName;
private String menu;
private String [] employees;


public RestaurantObject(String name, String menu, String [] employees){
setRestaurantName(name);
setMenu(menu);
setEmployees(employees);
}


//restaurantName
public String getRestaurantName(){
return restaurantName;
}

private void setRestaurantName(String name){
restaurantName = name;
}

//menu
public String getMenu(){
return menu;
}

private void setMenu(String menu){
this.menu = menu;
}

//employees
public String[] getEmployees(){
return employees;

}

private void setEmployees(String [] employees){
this.employees = employees;
}

}

私はこれを正しく行っていないことを知っています。助けてください!

ありがとうございました!

また、私の用語が間違っている場合は修正してください。

4

4 に答える 4

2

3 番目の引数に新しい文字列配列を渡すだけです。

RestaurantObject mcDonalds = new RestaurantObject("McDonalds", "McDonalds Menu", new String[] {"Value1", "Value2"});
于 2013-02-21T01:22:32.670 に答える
1

Java varargs をまだ学んでいないと思いますが、これはそれらを使用する完璧なケースです。その後、あなたは行くことができます

public RestaurantObject(String name, String menu, String...employees) {
   setRestaurantName(name);
   setMenu(menu);
   setEmployees(employees);
}

以降、

RestaurantObject mcDonalds = new RestaurantObject(
        "McDonalds", "McDonalds Menu", "John Doe", "Jane Doe");

varargs を使用できない場合、またはまだ学習していない場合は、@fvu バージョン 2 をお勧めします。

于 2013-02-21T01:28:43.567 に答える
0

2つのオプションがあります:

1作成する前に配列を作成しますRestaurantObject(クラスは実際には呼び出されるだけですRestaurant

String[] emplArr = new String[]{ "Bob", "Alice", "Fred"};
RestaurantObject mcDonalds;
mcDonalds = new RestaurantObject("McDonalds", "McDonalds Menu", emplArr);

2 のコンストラクター呼び出しで静的初期化子を使用して配列を初期化しますRestaurantObject

RestaurantObject mcDonalds;
mcDonalds = new RestaurantObject("McDonalds", "McDonalds Menu", new String[]{ "Bob", "Alice", "Fred"});
于 2013-02-21T01:21:32.660 に答える
0

できるよ

RestaurantObject mcDonalds = new RestaurantObject(
    "McDonalds", "McDonalds Menu", new String[] {"John Doe", "Jane Doe"});

また

String[] employees = new String[] {"John Doe", "Jane Doe"};
RestaurantObject mcDonalds = new RestaurantObject(
    "McDonalds", "McDonalds Menu", employees);

また

String[] employees = new String[2];
employees[0] = "John Doe";
employees[1] = "Jane Doe";
RestaurantObject mcDonalds = new RestaurantObject(
    "McDonalds", "McDonalds Menu", employees);

後者に関する注意: このような配列を作成する場合、そのサイズを知る必要がありますが、これは非常に煩わしい場合があります。ArrayListそのため、多かれ少なかれエラスティック配列のように動作する sを使用することを好む人が多くなります。つまり、n 個のアイテムが追加されると自動拡張します。

于 2013-02-21T01:23:32.323 に答える