2011-05-18 25 views
-1

/** File類*/如何獲得系統(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; 
) 
} 
+0

請正確格式化您的代碼,這使得它更容易閱讀! – berry120 2011-08-02 20:53:38

+0

請在[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)上閱讀本FAQ,並澄清您遇到的問題。 – bacar 2016-05-26 23:22:36

回答

0

我不知道我知道你想什麼,但它聽起來很簡單:

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

如果他想要打印多於一個文件,他需要一個關於如何操作序列號(在他的例子中爲「001」)的想法。 – 2011-05-18 14:57:27

+0

謝謝呂克。請參閱下面我修改的代碼並提供建議,謝謝 – Ali 2011-05-19 13:34:10

+0

public class File { //文件名。 私人字符串名稱; //創建的日期文件。 私人時間戳日期; //文件類型 - 音頻,圖像,視頻,文檔。 私人字符串類型; //文件大小--2MB,2KB等 私有字符串大小; (文件名) /** *創建一個文件* date =(「MM/dd/yyyy」); type = 0; size = 0; } /** *返回一個文件名*/ 公共字符串的getName(){ 回報名;} 公共字符串的ToString(){ 返回$ this.Name + 「」 + $ this.date + 「」+ $ this.type +「」+ $ this。尺寸; }} } – Ali 2011-05-19 13:35:30

1

看到你在使用BlueJ,我會認爲它是作業,所以我不會回答這個問題,只是指出一些問題。

您需要在File對象中存儲一個計數器,,該計數器需要在該對象的實例之間共享。這個計數器可以在建造時使用,以獲得每個文件實例的編號,然後可以爲有問題的實例存儲該編號。


您在新更新中缺少的是序列號。您應該將其存儲在一個靜態變量中(以便它在文件的所有實例之間共享),然後將其當前值分配給構造函數中的成員變量,然後增加下一個實例的靜態變量。

+0

謝謝里奇,它肯定是作業,你的指針被注意到,但我不明白,你可以請進一步告訴我應該讀什麼,謝謝 – Ali 2011-05-19 10:37:37

+0

@Ali嗨,我現在不能詳細回答,但將能夠在大約7個小時的時間內這樣做。如果這太晚,然後讓我知道... – Rich 2011-05-19 11:29:25

+0

嗨Rich我粘貼修改後的代碼使用呂克的代碼,請告訴我。我一定會等你提出建議。謝謝 – Ali 2011-05-19 13:36:44

0

如果你需要一個序列計數器,你可能要考慮使用一個靜態的整數,你爲每個添加的文件增加一個整數。

1

您將需要添加一個私有靜態整數,您可以隨心所欲地調用它。我會稱之爲numberOfFileInstances。在你的構造函數中,你需要將numberOfFileInstances加1。

這是我的例子:

public class File { 

    private static int numberOfFileInstances = 0; 

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

} 

由於您使用的BlueJ你就能夠輕鬆地看到,每次創建一個新的文件對象numberOfFileInstance將由一個遞增。在BlueJ中初始化2(或者你想要的任何數字大於1)文件對象並雙擊對象以調出檢查器。點擊「顯示靜態字段」按鈕,你應該看到private int numberOfFileInstance和你初始化的很多對象的計數。

+0

爲了說明numberOfFileInstances爲private的原因,以便其他對象不能修改計數。 – Michael 2011-11-10 20:34:07