首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与int不兼容的操作数类型String[]

与int不兼容的操作数类型String[]
EN

Stack Overflow用户
提问于 2020-05-23 04:21:31
回答 1查看 49关注 0票数 0

与int不兼容的操作数类型String[]。我在我的项目中添加了分而治之的算法,但我不知道它是不是很好的渗透?我的项目是关于寻找城市x-y坐标的最短路径,这个项目可以涉及三种算法,例如:分而治之策略贪婪算法最近邻算法

代码语言:javascript
复制
package formalProject;

import java.io.*;
import java.io.FileNotFoundException;
import java.util.*;

public class Main {

    public static void main (String[] args) throws FileNotFoundException{

        String[][] cities = readArray("att48_xy.txt");

        //printing cities 2d array 
        for(int i = 0; i < cities.length ; i++){
            System.out.println(cities[i][0] + " " + cities[i][1]);
        }

    }

    public static String[][] readArray(String file) throws FileNotFoundException{
        //we'll count how many elements are there?

        int counter = 0; //counter for calculating text's row length   

         Scanner sc1 = new Scanner(new File(file)); //scanner for calculating text's row length  
            while(sc1.hasNextLine()){ //checks for if there is any line 
                counter++; 
                sc1.nextLine();//jumps to next line
            }
            String[][] cities = new String[counter][2]; //creating our cities array with 
                                                     //rows as "counter" and columns as 2(X, Y)     

            Scanner sc2 = new Scanner(new File(file)); //scanner for getting values from text

            int i = 0;
            while(sc2.hasNext()) {

                    String tempX = sc2.next();//first next will be X coordinate
                    String tempY = sc2.next();//second next will be Y coordinate
                    cities[i][0] = tempX;
                    cities[i][1] = tempY;
                    i++;
            }
            return cities; //returns our 2d array     
    }

    public static int cities1 (String[][] cities){

        if(cities.length==0 || cities.length==1){

            return 0;
        }
            else{
                return cities(cities,1,cities.length);
        }
    }

    public static int cities(String[][] cities,int i,int f){

        int m,result,sx,dx;

        if(i>=f){
            return 0;
        }

        else{
            m=(i+f)/2;
            sx=cities(cities,i,m);
            dx=cities(cities,m+1,f);
            result=sx+dx;
            if((cities[m]==cities[m+1])&&(cities[m]==0)) //problem is here 
                    result++;
            return result;
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-05-23 04:25:46

citiesm是一个数组。我想你可能想要citiesm.length在这里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61963251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档