java二维数组怎么根据坐标求出周围最小的数?

如题所述

你好很高兴回答你的问题。
实现这个需求大概分两步。
第一步,通过索引加减1获取周围的元素(需要判断加减1后的索引是否越界)。
第二步,从第一步获取的数据中比较取最小值。
如果有帮助到你,请点击采纳。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-08-04
import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Comparator;public  class test {static class  one{private int x;private int y;private int count;private int xxx;public int getX() {return x;}public void setX(int x) {this.x = x;}public int getY() {return y;}public void setY(int y) {this.y = y;}public int getCount() {return count;}public void setCount(int count) {this.count = count;}public one(int x, int y, int count,int xxx) {super();this.x = x;this.y = y;this.count = count;this.setXxx(xxx);}public int getXxx() {return xxx;}public void setXxx(int xxx) {this.xxx = xxx;}}public static void main(String[] args) {int [][]a={{1,3,2},{5,5,5},{4,7,8}};int [][]b={{2,4,5},{1,6,9},{8,4,10}};List<one> list=new ArrayList<one>();for (int i = 0; i < a.length; i++) {for (int j = 0; j < a[i].length; j++) {one o=new one(i,j,a[i][j],b[i][j]);list.add(o);}}Collections.sort(list, new Comparator<one>(){public int compare(one o1, one o2) {if(o1.getCount()< o2.getCount()){                     return 1;                 } if(o1.getCount()== o2.getCount()){ if(o1.getXxx()<o2.getXxx())                   return 1;  if(o1.getXxx()==o2.getXxx())return 0;  return -1;                } return -1;}});for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i).getX()+"--"+list.get(i).getY());System.out.println(list.get(i).getCount());}}}
相似回答