67,513
社区成员
发帖
与我相关
我的任务
分享
public void subtract(List<List<User>> list, int x) {
User user;
int sub,sl;
List<User> l;
for (int i=0; i<list.size(); i++) {
l = list.get(i);
sub = x;
for (int j=0; j<l.size(); j++) {
user = l.get(j);
sl = user.getSl();
if (j==l.size()-1) {
user.setSl(sl-sub); // 最后一个直接减,哪怕会成为负数
// if(sl<sub) user.setSl(-1); //或者在减成负数后设成-1?你举的例子是-1
} else {
user.setSl(sl>=sub?sl-sub:0);
sub = sub - sl;
if (sub<=0) break;
}
}
}
}
subtract(list,60);
public void subtract(List<List<User>> list, int x) {
for (int i=0; i<list.size(); i++) {
List<User> l = list.get(i);
int sum = 0;
for (int j=0; j<l.size(); j++)
sum += l.get(j).getSl();
int newsl = (sum-x)/l.size();
if (newsl<0) newsl=-1; //如果你是说不够扣就统一设置成-1,就加上这句
for (int j=0; j<l.size(); j++)
l.get(j).setSl(newsl);
}
}
subtract(list,60);
public void subtract(List<List<User>> list, int x) {
for (int i=0; i<list.size(); i++) {
List<User> l = list.get(i);
int sum = 0;
for (int j=0; j<l.size(); j++)
sum += l.get(j).getSl();
int newsl = (sum-x)/l.size();
for (int j=0; j<l.size(); j++)
l.get(j).setSl(newsl);
}
}