我有两个双数组:
double[] LatArr = {28.5700,28.4700,28.29};
double[] LonArr = {77.3200,77.0300,77.62};
我的循环结构如下所示:
for(int i=0;i<count;i++)
{
for(int j=0;j<count;j++)
{
Double lat1;
Double lon1;
Double lat2;
Double lon2;
lat1 = LatArr[i];
lon1 = LonArr[j];
//System.out.println(LatLon[i][j]);
/*System.out.println("<< BREAK >>");
System.out.println(lat1);
System.out.println(lon1);
*/
lat2=lat1;
//lat1 = null;
lon2=lon1;
//lon1 = null;
i++;
if(lat1!=null){
GeoPoint gp1 = new GeoPoint((int)(lat1 * 1E6), (int)(lon1 * 1E6)); //
GeoPoint gp2 = new GeoPoint((int)(lat2 * 1E6), (int)(lon2 * 1E6)); //
System.out.println("<< LAT1 >>");
System.out.println(lat1);
System.out.println(lon1);
System.out.println("<< LAT2 >>");
System.out.println(lat2);
System.out.println(lon2);
Point p11 = new Point();
Point p22 = new Point();
Path mypath = new Path();
projection.toPixels(gp1, p11);
projection.toPixels(gp2, p22);
mypath.moveTo(p22.x, p22.y);// *
mypath.lineTo(p11.x, p11.y);// *
canvas.drawPath(mypath, mPaint);
}
}
}
我要做的是连续获取项目LatArr[0]和LonArr[0]<这样我就可以在lat1中使用LatArr[0],在lon1中使用LonArr[0]。此外,LatArr[1]应位于lat2,LonArr[1]应位于lon2
但此代码获取LatArr[0]。。[1] 。。和LonArr[0]。。[1] 。。两次每个元素打印两次
任何人都请纠正我的错误,我完全不希望按照这种方法在地图上画多个点。在所有这些代码中,将依次映射两个地质点(每个地质点都有纬度
每次使用相同的索引,以便从两个数组中获取相同的索引元素。
for(int i=0;i<count;i++){
Double lat1;
Double lon1;
Double lat2;
Double lon2;
lat1 = LatArr[i];// i th element from lat arr
lon1 = LonArr[i];// i th element from lon arr
...
}
我不明白,为什么你有两个循环,试试这个:
for(int i=0;i<count-1;i++)
{
Double lat1;
Double lon1;
Double lat2;
Double lon2;
lat1 = LatArr[i];
lon1 = LonArr[i];
/*System.out.println("<< BREAK >>");
System.out.println(lat1);
System.out.println(lon1);
*/
lat2=latArr[i+1];
//lat1 = null;
lon2=lonArr[i+1];
//lon1 = null;
if(lat1!=null){
GeoPoint gp1 = new GeoPoint((int)(lat1 * 1E6), (int)(lon1 * 1E6)); //
GeoPoint gp2 = new GeoPoint((int)(lat2 * 1E6), (int)(lon2 * 1E6)); //
System.out.println("<< LAT1 >>");
System.out.println(lat1);
System.out.println(lon1);
System.out.println("<< LAT2 >>");
System.out.println(lat2);
System.out.println(lon2);
Point p11 = new Point();
Point p22 = new Point();
Path mypath = new Path();
projection.toPixels(gp1, p11);
projection.toPixels(gp2, p22);
mypath.moveTo(p22.x, p22.y);// *
mypath.lineTo(p11.x, p11.y);// *
canvas.drawPath(mypath, mPaint);
}
}
如果两个数组的长度相同,则只使用一个循环,而不是两个循环,因此请按以下方式更改代码:
for(int j=0;j<count;j++)
{
Double lat1;
Double lon1;
Double lat2;
Double lon2;
lat1 = LatArr[j];
lon1 = LonArr[j];
lat2=lat1;
//lat1 = null;
lon2=lon1;
//lon1 = null;
if(lat1!=null){
GeoPoint gp1 = new GeoPoint((int)(lat1 * 1E6), (int)(lon1 * 1E6)); //
GeoPoint gp2 = new GeoPoint((int)(lat2 * 1E6), (int)(lon2 * 1E6)); //
System.out.println("<< LAT1 >>");
System.out.println(lat1);
System.out.println(lon1);
System.out.println("<< LAT2 >>");
System.out.println(lat2);
System.out.println(lon2);
Point p11 = new Point();
Point p22 = new Point();
Path mypath = new Path();
projection.toPixels(gp1, p11);
projection.toPixels(gp2, p22);
mypath.moveTo(p22.x, p22.y);// *
mypath.lineTo(p11.x, p11.y);// *
canvas.drawPath(mypath, mPaint);
}
}
}
我想在HashMap中搜索重复项。目前这是我的HashMap:
问题内容: 我有一个大的数据框(几百万行)。 我希望能够对它进行分组操作,而只是按行的任意连续(最好大小相等)的子集进行分组,而不是使用各个行的任何特定属性来确定它们要进入的组。 用例:我想通过IPython中的并行映射将函数应用于每一行。哪行进入哪个后端引擎都没有关系,因为该函数一次基于一行来计算结果。(至少在概念上;实际上是矢量化的。) 我想出了这样的东西: 但这似乎很漫长,并且不能保证大小相
问题内容: 我刚遇到以下问题。 这是我第一次看到这个。它是如何工作的? 问题答案: 它只是编写两个不同的代码块以隐藏局部变量。 从问题“ Java中的匿名代码块”的答案: 块限制变量范围。 但是,实际上,如果您发现自己使用了这样的代码块,则可能是您要将其重构为方法的信号。
你是一个电视游戏节目的参与者,这给了你赢得奖金的机会。在游戏中,你会看到一系列框,每个框都包含一个允许你看到的正整数值。你有机会选择任何数量的盒子。您的总奖金是您选择包含的所有盒子的总和。这个游戏只有一个限制:如果你选择了两个连续的盒子,你不允许在总数中添加任何后续的盒子,而你的奖品是截至该点的累计金额。你的目标是最大化你的奖金。 给定一个正整数数组,代表游戏中呈现给你的每个盒子的值,返回你能赢得
我需要使用FFMPEG随机选择时间(例如0:10),并将两个连续的帧保存为PNG。 产出: 问题 如何确定下一帧?帧率120/1意味着每秒120帧? 编辑 它能保证下一帧吗?还有其他办法吗?
问题内容: 是否有一种简短的方法可以在Python中连续两次或更多次调用函数?例如: 也许像: 问题答案: 我会: 的是其值为你不关心的变量约定。 您可能还会看到有人写: 但是,这样做会稍微贵一些,因为它会创建一个包含每次调用(即使是)的返回值的列表,然后将结果列表丢弃。我不建议使用,除非你 正在 使用的返回值的列表。