testjava.java
来自「一个基于网格和最近邻居的聚类算法 Similarity(x, y) = siz」· Java 代码 · 共 430 行 · 第 1/2 页
JAVA
430 行
areaSign.equals(strPointArea5) ||
areaSign.equals(strPointArea6) ||
areaSign.equals(strPointArea7) ||
areaSign.equals(strPointArea8))
{
for (int k = 1; k < list[j].size(); k++){
listPointArea[i].add(list[j].get(k));
}
}
}
}
else if (pointXIndex == minX && pointYIndex == maxY){
String strPointArea1 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex - 1);
String strPointArea2 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex - 2);
String strPointArea3 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex);
String strPointArea4 = String.valueOf(pointXIndex + 2) + "," + String.valueOf(pointYIndex);
String strPointArea5 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex - 1);
String strPointArea6 = String.valueOf(pointXIndex + 2) + "," + String.valueOf(pointYIndex - 1);
String strPointArea7 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex - 2);
String strPointArea8 = String.valueOf(pointXIndex + 2) + "," + String.valueOf(pointYIndex - 2);
for (int j = 0; j < areaCount; j++){
String areaSign = (String)(list[j].get(0));
if (areaSign.equals(strPointArea1) ||
areaSign.equals(strPointArea2) ||
areaSign.equals(strPointArea3) ||
areaSign.equals(strPointArea4) ||
areaSign.equals(strPointArea5) ||
areaSign.equals(strPointArea6) ||
areaSign.equals(strPointArea7) ||
areaSign.equals(strPointArea8))
{
for (int k = 1; k < list[j].size(); k++){
listPointArea[i].add(list[j].get(k));
}
}
}
}
else if (pointXIndex == maxX && pointYIndex == maxY){
String strPointArea1 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex);
String strPointArea2 = String.valueOf(pointXIndex - 2) + "," + String.valueOf(pointYIndex);
String strPointArea3 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex - 1);
String strPointArea4 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex - 2);
String strPointArea5 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex - 1);
String strPointArea6 = String.valueOf(pointXIndex - 2) + "," + String.valueOf(pointYIndex - 1);
String strPointArea7 = String.valueOf(pointXIndex - d) + "," + String.valueOf(pointYIndex - 2);
String strPointArea8 = String.valueOf(pointXIndex - 2) + "," + String.valueOf(pointYIndex - 2);
for (int j = 0; j < areaCount; j++){
String areaSign = (String)(list[j].get(0));
if (areaSign.equals(strPointArea1) ||
areaSign.equals(strPointArea2) ||
areaSign.equals(strPointArea3) ||
areaSign.equals(strPointArea4) ||
areaSign.equals(strPointArea5) ||
areaSign.equals(strPointArea6) ||
areaSign.equals(strPointArea7) ||
areaSign.equals(strPointArea8))
{
for (int k = 1; k < list[j].size(); k++){
listPointArea[i].add(list[j].get(k));
}
}
}
}
else if (pointXIndex != minX && pointXIndex != maxX && pointYIndex == minY){
String strPointArea1 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex);
String strPointArea2 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex);
String strPointArea3 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex + 1);
String strPointArea4 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex + 1);
String strPointArea5 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex + 1);
String strPointArea6 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex + 2);
String strPointArea7 = String.valueOf(pointXIndex ) + "," + String.valueOf(pointYIndex + 2);
String strPointArea8 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex + 2);
for (int j = 0; j < areaCount; j++){
String areaSign = (String)(list[j].get(0));
if (areaSign.equals(strPointArea1) ||
areaSign.equals(strPointArea2) ||
areaSign.equals(strPointArea3) ||
areaSign.equals(strPointArea4) ||
areaSign.equals(strPointArea5) ||
areaSign.equals(strPointArea6) ||
areaSign.equals(strPointArea7) ||
areaSign.equals(strPointArea8))
{
for (int k = 1; k < list[j].size(); k++){
listPointArea[i].add(list[j].get(k));
}
}
}
}
else if (pointYIndex != minY && pointYIndex != maxY && pointXIndex == minX){
String strPointArea1 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex - 1);
String strPointArea2 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex + 1);
String strPointArea3 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex - 1);
String strPointArea4 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex);
String strPointArea5 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex + 1);
String strPointArea6 = String.valueOf(pointXIndex + 2) + "," + String.valueOf(pointYIndex - 1);
String strPointArea7 = String.valueOf(pointXIndex + 2) + "," + String.valueOf(pointYIndex);
String strPointArea8 = String.valueOf(pointXIndex + 2) + "," + String.valueOf(pointYIndex + 1);
for (int j = 0; j < areaCount; j++){
String areaSign = (String)(list[j].get(0));
if (areaSign.equals(strPointArea1) ||
areaSign.equals(strPointArea2) ||
areaSign.equals(strPointArea3) ||
areaSign.equals(strPointArea4) ||
areaSign.equals(strPointArea5) ||
areaSign.equals(strPointArea6) ||
areaSign.equals(strPointArea7) ||
areaSign.equals(strPointArea8))
{
for (int k = 1; k < list[j].size(); k++){
listPointArea[i].add(list[j].get(k));
}
}
}
}
else if (pointYIndex != minY && pointYIndex != maxY && pointXIndex == maxX){
String strPointArea1 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex - 1);
String strPointArea2 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex + 1);
String strPointArea3 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex - 1);
String strPointArea4 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex);
String strPointArea5 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex + 1);
String strPointArea6 = String.valueOf(pointXIndex - 2) + "," + String.valueOf(pointYIndex - 1);
String strPointArea7 = String.valueOf(pointXIndex - 2) + "," + String.valueOf(pointYIndex);
String strPointArea8 = String.valueOf(pointXIndex - 2) + "," + String.valueOf(pointYIndex + 1);
for (int j = 0; j < areaCount; j++){
String areaSign = (String)(list[j].get(0));
if (areaSign.equals(strPointArea1) ||
areaSign.equals(strPointArea2) ||
areaSign.equals(strPointArea3) ||
areaSign.equals(strPointArea4) ||
areaSign.equals(strPointArea5) ||
areaSign.equals(strPointArea6) ||
areaSign.equals(strPointArea7) ||
areaSign.equals(strPointArea8))
{
for (int k = 1; k < list[j].size(); k++){
listPointArea[i].add(list[j].get(k));
}
}
}
}
else if (pointXIndex != minX && pointXIndex != maxX && pointYIndex == maxY){
String strPointArea1 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex);
String strPointArea2 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex);
String strPointArea3 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex - 1);
String strPointArea4 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex - 1);
String strPointArea5 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex - 1);
String strPointArea6 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex - 2);
String strPointArea7 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex - 2);
String strPointArea8 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex - 2);
for (int j = 0; j < areaCount; j++){
String areaSign = (String)(list[j].get(0));
if (areaSign.equals(strPointArea1) ||
areaSign.equals(strPointArea2) ||
areaSign.equals(strPointArea3) ||
areaSign.equals(strPointArea4) ||
areaSign.equals(strPointArea5) ||
areaSign.equals(strPointArea6) ||
areaSign.equals(strPointArea7) ||
areaSign.equals(strPointArea8))
{
for (int k = 1; k < list[j].size(); k++){
listPointArea[i].add(list[j].get(k));
}
}
}
}
else{
String strPointArea1 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex - 1);
String strPointArea2 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex - 1);
String strPointArea3 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex - 1);
String strPointArea4 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex);
String strPointArea5 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex);
String strPointArea6 = String.valueOf(pointXIndex - 1) + "," + String.valueOf(pointYIndex + 1);
String strPointArea7 = String.valueOf(pointXIndex) + "," + String.valueOf(pointYIndex + 1);
String strPointArea8 = String.valueOf(pointXIndex + 1) + "," + String.valueOf(pointYIndex + 1);
for (int j = 0; j < areaCount; j++){
String areaSign = (String)(list[j].get(0));
if (areaSign.equals(strPointArea1) ||
areaSign.equals(strPointArea2) ||
areaSign.equals(strPointArea3) ||
areaSign.equals(strPointArea4) ||
areaSign.equals(strPointArea5) ||
areaSign.equals(strPointArea6) ||
areaSign.equals(strPointArea7) ||
areaSign.equals(strPointArea8))
{
for (int k = 1; k < list[j].size(); k++){
listPointArea[i].add(list[j].get(k));
}
}
}
}
}
return listPointArea;
}
private static String getPointX(String point){
int index = point.indexOf(",");
return point.substring(0, index);
}
private static String getPointY(String point){
int index = point.indexOf(",");
return point.substring(index + 1, point.length());
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?