如何修复“令牌语法错误,(已检查”)

时间:2019-09-19 09:44:25

标签: java

我遇到三个错误,指出令牌上的语法错误,(应改为

在线: 1)return (int)(this.cities.stream().mapToDouble(x - > {

2)int cityIndex = this.cities.indexOf(x);

3)>}).sum() + this.cities.get(citiesSize - 1).measureDistance(this.cities.get(0)));

任何建议?

import java.util.Arrays;
import java.util.Collections;

public class Route {
    private ArrayList<City> cities = new ArrayList<City>();
    public Route(ArrayList<City> cities){
        this.cities.addAll(cities);
        Collections.shuffle(this.cities);
    }
    public Route(Route route){ this.cities.addAll(route.cities);}
    public ArrayList<City> getCities(){return cities;}
    public double getTotalDistance(){
        int citiesSize = this.cities.size();
        int x;
        return (int)(this.cities.stream().mapToDouble(x - > {
            int cityIndex = this.cities.indexOf(x);
            double returnValue = 0;
            if (cityIndex < citiesSize - 1)returnValue = x.measureDistance(this.cities.get(cityIndex + 1));
            return returnValue;
        }).sum() + this.cities.get(citiesSize - 1).measureDistance(this.cities.get(0)));
    }
    public String getTotalStringDistance(){
        String returnValue = String.format("%.2f",this.getTotalDistance());
        if (returnValue.length() == 7) return " " +returnValue;
        return returnValue;
    }
    public String toString(){ return Arrays.toString(cities.toArray());}
}

1 个答案:

答案 0 :(得分:-1)

对于1)return (int)(this.cities.stream().mapToDouble(x - > { ----删除-和>之间的空格。 应该是return (int)(this.cities.stream().mapToDouble(x -> {

2)int cityIndex = this.cities.indexOf(x); ---因为该方法中已经使用x。尝试使用另一个变量

对于3--,您能不能提到错误?