编辑代码


import java.util.ArrayList;

public class Main {

    public static void main(String[] args) {
        //差值亏两百的数
        ArrayList<M> a1=new ArrayList<M>();
        //差值挣800多的数
        ArrayList<M> a2=new ArrayList<M>();
        for(int i=1000;i<=9999;i++){
            String s=i+"";
            if(judge(s,'3')||judge(s,'4')||judge(s,'7')){ 
                continue;
            }
            String x=reversal(s);
            if(x.length()!=4){
                continue;
            }
            int y=Integer.parseInt(x);
            M m=new M();
            if(i-y>200&&i-y<300){
                m.initial=i;
                m.dispose=y;
                m.value=i-y;
                a1.add(m);
            }else if(i-y>-900&&i-y<-800){
                m.initial=i;
                m.dispose=y;
                m.value=i-y;
                a2.add(m);
            }
        }
        /*for(int i=0;i<a1.size();i++){
            System.out.println(a1.get(i).initial+","
        +a1.get(i).dispose+","+a1.get(i).value);
        }
        System.out.println("================================");
        for(int i=0;i<a2.size();i++){
            System.out.println(a2.get(i).initial+","
        +a2.get(i).dispose+","+a2.get(i).value);
        }*/
        for(int i=0;i<a1.size();i++){
            for(int j=0;j<a2.size();j++){
                if(a1.get(i).value+a2.get(j).value==-558){
                    System.out.println(a1.get(i).initial);
                    break;
                }
            }
        }
        
    }
    public static String reversal(String s){
        //将字符串反转,注意6和9的替换
        String x="";
        for(int i=s.length()-1;i>=0;i--){
            char c=' ';
            if(s.charAt(i)=='6'){
                c='9';
            }else if(s.charAt(i)=='9'){
                c='6';
            }else{
                c=s.charAt(i);
            }
            x=x+c;
        }
        return x;    
    }
    public static boolean judge(String s,char c){
        //判断字符串中是否含有c字符
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)==c){
                return true;
            }
        }
        return false;
    }
}
class M{
    int initial;//初始值
    int dispose;//翻转值
    int value; //差值
    
}