(技术)这是个有意思的问题
2019-10-15 本文已影响0人
点映文艺
假如给个数字156,以50的步宽进行分割,可以分割为
1-50;
51-100;
101-150;
151-156;
假如86,以50的步宽进行分割,可以分割为 : 1-50;51-86
然后 1-50 作为一个String字符串存放到List集合中,用程序应该怎么表达?
程序如下:
Integer num = 156;
Integer step = 50;
List<String> list = new ArrayList<String>();
Integer len = (num % step == 0 ? num / step : (num / step + 1));
// 方法 1
for(int i = 0 ; i != len ; ++i) {
list.add((step * i + 1) + "-" + (step * (i + 1) < num ? step * (i + 1) : num));
}
// 方法 2
int i = 0;
while(i < len){
list.add((step * i + 1) + "-" + (step * (i + 1) < num ? step * (i + 1) : num));
i++;
}
// 方法3
for(int i = 0 ; i < len ; i++) {
list.add((step * i + 1) + "-" + (step * (i + 1) < num ? step * (i + 1) : num));
}
for(String s : list){
System.out.println(s);
}