まず、これは課題なので、コード化された回答よりもヘルプを探しています (ごまかしたくない!)。私の課題は、駅の列車/鉄道ネットワークを処理するプログラムを作成することです。私が立ち往生しているセクションは、ステーションとその接続を追加し、これらの接続を文字列の配列リストとして返します。これまでのコードと、割り当てからの抜粋 (現在のセクションに関連するもの) を以下に含めました。私は週末を通してこのビットに苦労してきたので、どんな助けでも大歓迎です.
編集する必要があるのは、"MyNetwork" クラスのインターフェイスの実装だけです。私はぐるぐる回っていると感じただけで、右足で降りることさえできなかったのでしょうか?
割り当てから;
Network インターフェイスを実装するクラス MyNetwork を作成します。
このクラスの getConnections メソッドは、fromStation 引数に直接接続されているステーションのみを含む配列を返す必要があります。ヒント 1: HashMap を使用してこれを行うことができます。キーは文字列 (ステーションを表す) であり、値は文字列の ArrayLists (直接接続されているステーションを表す) です。
ヒント 2: getConnections メソッドは文字列の配列を返しますが、HashMap の値は文字列の ArrayList である方がよいでしょう
インターフェイス;
public interface Network {
/**
* Add a station to the network.
* @param station The station to be added.
*/
public void addStation(String station);
/**
* Add a direct connection from one station to another.
* @pre both fromStation and toStation have already been added by the method
* addStation.
* @param fromStation The station from which the connection begins.
* @param toStation The station at which the connection ends.
*/
public void addConnection(String fromStation, String toStation);
/**
* Get a list of all stations directly connected to a given station.
* @pre fromStation has been added to the network by the method addStation.
* @param fromStation
* @return A list of all the stations to which there is a direct connection
* from fromStation.
*/
public String[] getConnections(String fromStation);
/**
* Search for a station in the network.
* @param station Station to be searched for,
* @return true if the Station exists in the network, false otherwise.
*/
public boolean hasStation(String station);
/**
* Get all stations in the network.
* @return An array containing all the stations in the network, with no
* duplicates.
*/
public String[] getStations();
実装:
public class MyNetwork implements Network {
@Override
public void addStation(String station) {
ArrayList<String> Stations = new ArrayList<>();
Stations.add(station);
}
@Override
public void addConnection(String fromStation, String toStation) {
Map<String,String> Connections = new HashMap<>();
Connections.put(fromStation, toStation);
}
@Override
public String[] getConnections(String fromStation) {
return null; // dummy value!
}
@Override
public boolean hasStation(String station) {
return false; // dummy value!
}
@Override
public String[] getStations() {
return null; // dummy value!
}
}