如何让系统(BlueJ)按顺序分配唯一编号

时间:2011-05-18 14:41:30

标签: java tostring bluej

/ **文件类* /

public class File {
   // The File name.       
   private String name;
   // The date file created.     
   private String date ;
   // The type of file - audio, image, video, doc.     
   private String type;
   // The size of the file - 2MB, 2KB etc.     
   private String size; 


/**
 * Create a file 
 */

public File(String Filename)
{
name = Filename;
date = ("MM/dd/yyyy");
type = ();
size = ();
}


/**
 * Return the name of a File.
 */

public String getName()
{
return name;
}


/**
 * Update system number when called to the output terminal 
 */

public void Systemnumber ()
   name.increment();
   if(name.Filename() == 0) { // it jus rolled over !
      i.increment();
   }
   updateDisplay();
}


/**
 * Print File description to the output terminal 
 */

public void updateDisplay ()
public String s = String.format ("%02d", i); // gives you "001" 
for (int i = 001; i < 1000; i++) {String sequence = String.format("%02d", i); }
{      
return  (i + "", '$this.Name + " " + $this.date + " " + $this.type + " " +$this.size; }  


/**
 * This method is called everytime Increment the return value one, rolling over to zeor if the limit is reached 
 */

public void updateDisplay ()
{ displayString = name.
(
value = (value +1) % limit;
)
}

4 个答案:

答案 0 :(得分:1)

看到你正在使用BlueJ,我会假设它是作业,所以我不会回答这个问题,只是给出一些指示。

您需要在File对象中存储一个计数器,该计数器需要在对象的实例之间共享。可以在构造时使用此计数器来获取File的每个单独实例的编号,然后可以为相关实例存储该编号。


新更新中缺少的是序列号。您应该将它存储在一个静态变量中(以便它在File的所有实例之间共享),然后在为下一个实例化递增静态变量之前将其当前值分配给构造函数中的成员变量。

答案 1 :(得分:1)

您需要添加一个私有静态整数,您可以随意调用它。我会称之为numberOfFileInstances。在构造函数中,您需要将numberOfFileInstances增加一个。

以下是我的例子:

public class File {

    private static int numberOfFileInstances = 0;

    public File() {
        File.numberOfFileInstances++;
    }

}

由于您使用BlueJ,您将很容易看到每次创建新文件对象时,numberOfFileInstance将增加1。在BlueJ初始化2(或任何你想要的数字大于1)文件对象并双击对象以调出检查器。单击“显示静态字段”按钮,您应该看到private int numberOfFileInstance以及您初始化的对象的数量。

答案 2 :(得分:0)

我不确定我理解你想要什么,但听起来很简单:

public String toString()  { 
    return this.Name + " " + this.date + " " + this.type + " " +this.size;
} 

答案 3 :(得分:0)

如果你需要一个序列计数器,你可能需要考虑使用一个静态整数,你为每个添加的文件递增。