-5
Javaプログラムで順序付き順次IDを生成する方法。 出力は次のようになります。 ここではサンプル出力Mys2016vj01が出力され、01は年まで増分する必要があります。一年後に2016年には、一定のVJ数年後の変更は01javaで順序付きの連続番号を生成する方法
Javaプログラムで順序付き順次IDを生成する方法。 出力は次のようになります。 ここではサンプル出力Mys2016vj01が出力され、01は年まで増分する必要があります。一年後に2016年には、一定のVJ数年後の変更は01javaで順序付きの連続番号を生成する方法
//Initialize it as a static field in the class where you want to generate random number.
private static final UniqueParamBuilder UNIQUE_PARAM_BUILDER = new UniqueParamBuilder();
public String buildNextUniqueNumber() {
//Params can be final depending on your context.
String param1 = "Mys";
String param2 = "vj";
int year = LocalDateTime.now().getYear();//Java 8. If Java 7, check this
String yearParam = year + "";
int uniqueNumber = UNIQUE_PARAM_BUILDER.getNext(year);
String uniqueParam = String.format("%01d", uniqueNumber); //Check this to see how start string with leading zeros.
How can I pad an integers with zeros on the left?
String result = param1 + yearParam + param2 + uniqueParam;
return result;
}
public class UniqueParamBuilder {
private static final YEAR_TO_START = 2015;
private static final int START_CONTER = 0;
private int previousYear = YEAR_TO_START;
private int counter = START_CONTER ;
public int getNext(int year) {
if (year > previousYear) {
previousYear = year;
resetCounter();
}
counter++;//Start counter with 1.
return counter;
}
private void resetCounter() {
counter = START_CONTER ;
}
}
にリセットされなければならないときにはないですので、 に2017年までの増加でなければなりません何か考えているので、私は –
を投稿してくださいhttp://stackoverflow.com/help/how-to-ask – Abhishek