2015-06-05 2 views
-1

Я пытаюсь распечатать путь от одной вершины к другой с помощью алгоритма dijkstra. Когда я отправляю код2 в качестве аргумента в List path = ... Я получаю сообщение об ошибке getShortestPathTo: «Метод getShortestPathTo (Digraph.Vertex) в типе Digraph не применим для аргументов (String). ? что он будет принимать строкуКастинг для строки

System.out.print("City Code: "); 
    String code = kb.next(); 
    String code2 = kb.next(); 
    Digraph.computePaths(Digraph.getCode(source,code)); 
    List<Digraph.Vertex> path = (Digraph.getShortestPathTo(code2)); 

Это мой метод getShortestPathTo:

public static List<Vertex> getShortestPathTo(Vertex target) { 
     List<Vertex> path = new ArrayList<Vertex>(); 
     for (Vertex vertex = target; vertex != null; vertex = vertex.previous) { 
      path.add(vertex); 
     } 
     Collections.reverse(path); 
     return path; 
    } 
+0

Пожалуйста, разместите код для Vertex –

+0

Что такое переменная 'kb'? – HyperNeutrino

+0

@ freakshow1217 Я только что разместил его. – Kay

ответ

0

Использование Integer.toString ("Строка Здесь");

+0

где я могу это использовать? – Kay

0

метод getShortestPathTo(Vertex vertex) требует один параметр, который является Vertex. A String не является Vertex. Вам нужно передать Vertex в метод. Вам нужно либо преобразовать код2 в Vertex с каким-то алгоритмом (я не знаю вашего Vertex форматирования), либо переписываю kb.next(), чтобы вернуть Вершину.

+0

Есть ли способ передать строку в вершину? – Kay

+0

@Kay No. Definetly нет. 'Vertex' не является суперклассом' String', а не 'subclass'. Сделайте способ преобразования 'String' в' Vertex'. – HyperNeutrino

+0

@ Кай, вам нужно это выяснить самостоятельно. StackOverflow не предоставляет службу написания кода. – Gosu

Смежные вопросы