【发布时间】:2015-05-26 12:20:05
【问题描述】:
我必须增加变量计数并返回为 001, 002...,099....,999 update() 返回计数值,reset() 将重置静态变量 我用过的代码。
public class getCount {
static String count="0";
//resets the value to 0
public static void reset() {
// TODO Auto-generated method stub
count="0";
}
//updates the value
public static String update() {
String temp=count;
DecimalFormat df1 = new DecimalFormat("000");
String T=String.valueOf(df1.format(Integer.parseInt(temp)));
if( temp=="1000")
{
count="1";
return count;
}
return T;
}
//main() is used for testing
public static void main(String[] a) {
String c1=update();
System.out.println(c1);
String c2=update();
System.out.println(c2);
String c3=update();
System.out.println(c3);
String c4=update();
System.out.println(c4);
String c5=update();
System.out.println(c5);
reset();
String c6=update();
System.out.println(c6);
String c7=update();
System.out.println(c7);
String c8=update();
System.out.println(c8);
}
我得到的输出是 001,001....
【问题讨论】:
-
在找出新字符串 (
String T=String.valueOf(df1.format(Integer.parseInt(temp)));) 后,不要将其存储在任何地方。此外,if( temp=="1000")不起作用:使用.equals()。 -
除了出色的 khelwood 的评论之外,您为什么将您的计数器存储为
String?int在这里应该足够了,而且效率更高:) -
我没有看到你增加任何东西。将设置
String T的行更改为String T=String.valueOf(df1.format(Integer.parseInt(temp) + 1)); -
@khelwood 谢谢.. 但它不起作用:(
-
@Nizil 是的.. int 将服务于我的目的.. 但我必须在递增后将其返回为 001 、 002 等等