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 + -
显示快捷键?