1樓:
計算機產生的隨機數是偽隨機,需要給乙個隨機數種子,如果不給,預設種子是當前時間,由於計算機執行速度快,所以在迴圈體內一大部分隨機數都是近似在同一時間內取得,自然取得的數字也就相同了。
可以用語句每次取得隨機數後停一段時間,讓時間變化一下,這樣每次取得的數字就會不同,但比較耗時間。
如果要在短時間內產生大量隨機數可以這樣定義。
new random(
用毫秒來做隨機數種子,這樣種子變化得就快一些,產生的隨機數也相對隨機一點(不過也只是相對而已)
你把語句放到程式裡用不會出現大部分數字相同的情況,可能就是因為你的程式不會短時間內連續呼叫產生隨機數的方法。
2樓:乘恢籽
net裡已經有類了,為什麼還要自己編?
這樣不就行了嗎?
random rand=new random();
for...
如果非要編乙個類,請用靜態類,並把random物件設定為類的靜態成員。
你的問題在於:random物件在極其短的時間內例項化導致例項所用的種子相同造成的。
3樓:網友
random rand=new random();
for...
上面寫法是正確的。
下面寫法生成的基本上是相同的數字。你寫的方法過程執行完了應該就是下面這個效果。
for...
random rand=new random();
c#中乙個方法的問題
4樓:百靈鳥
啊哦~~~正解應該是b哦~~
這道題是為了考變數和類的訪問級別的~
1.題目中的兩個類均沒有訪問修飾符,所以按預設處理~預設類的訪問級別是internal,所以兩個類是可以互訪問的~
2.變數name~
修飾符是private。
所以只有在他的所屬類school內部可以訪問它~study()和play()是student 的方法~所以它們沒有辦法訪問name欄位~
所以~排除a和d選項~
3.變數 gradenum
修飾符是public
所以只要可以訪問school類就可以訪問這個變數~顯然b就正確了~
4.區域性變數hours
注意我用的是區域性變數而不是變數哦~
這個變數在方法中宣告的~
它的生命期是有study()方法~
study()外部的所以東西都是不能訪問它滴~~所以c也是錯的~
以上~你可以再好好研究下那幾個訪問修飾符~
5樓:網友
正確答案是b
name是私有成員,student中的方法都不能訪問, 排除a,dhours是study方法中的區域性變數,只有在study方法中定義hours之後的**可以訪問,c也錯。
b是對的。應該gradenum是公共成員,可以隨意訪問。
6樓:華佗之父
正確答案是b。
w是浪蕩兒。
咋麼能選c呢???
hours是study方法裡面的私有變數呀,play方法咋麼能訪問呢?
c 的乙個程式疑問,求解C 乙個程式設計問題
你首先要明白的是string 是什麼,它和char 不一樣,新手會誤以為string和int,char,char 類似,是個資料型別,其實不然,string是乙個類。string string1,string2,temp 表示定義了3個string類的類物件,他們的名字分別是string1,stri...
C中有疑問C中有乙個疑問
首先要了解,int型別一般為32位二進位制表示 32位作業系統下 char型別是8位二進位制表示。int a在記憶體中的二進位制存放為 0000 0000 0000 0000 0100 1110 0010 0000 計算器自己算一下,值為20000 char c a 如果用char型別來儲存int型...
C中在類中呼叫其他類的方法,C中在乙個類中呼叫其他類的方法
static void printmenu 方法前少 public 前少public 預設是proctected型別的,只能是其父子類相關的才能呼叫,改成加上public型別 因為str 1 字串是引用型別,比較的並不是他們的內容,而是比較他們的指標,由於str和 1 是分別分配空間的,他們的指標指...