5 2
4 7
... ...
两列数字,
左边是全部数量 右边是已发货的数量,
现在右边的2先和5匹配,还剩3个没发货的,
然后5变成3,右边的7再和3匹配 ,多余出4个已发货的,
然后剩下的4再和左边的4匹配,等于的话就正好,后面依次类推, 这样的逻辑怎么写?求教大神!最好是用PLSQL语言来写,也可以用Java代码也行,拜托了!不管怎样先谢谢!
int a1 = 5;
int a2 = 2;
int b1 = 4;
int b2 = 7;
int 未发货 = a1-a2;
a1= 未发货;
int 已发货 =b2-a1;
if(b1 == 已发货){
成功
}else{
失败
}
先把查出来的值都放入一个LIst数组里面,for循环长度就是你查到的数据条数,随机数randomOne就是你查的字段1的值,randomTwo就是字段2的值。
public class Test {
public static void main(String[] args) {
List list=new ArrayList();
Integer[] ints=null;
int randomOne = 0,randomTwo=0;
for (int i = 0; i < 2; i++) {
ints=new Integer[2];
randomOne=(int)(Math.random()*5000)+1;
randomTwo=(int)(Math.random()*5000)+1;
ints[0]=randomOne;
ints[1]=randomTwo;
System.out.println(randomOne+"\t"+randomTwo);
list.add(ints);
}
printForListMap(list);
}
public static void printForListMap(List<Integer[]> list){
int k=0;
for (int i = 0; i < list.size(); i++) {
Integer[] count = list.get(i);
if(count!=null){
k = count[1]-count[0]-k;
}
if(k<0){
System.out.println("还剩"+(-1)*k+"个没发货的");
}
if(k>0){
System.out.println("多余出"+k+"个已发货的");
}
if(k==0){
System.out.println("刚好匹配");
}
}
};
}