मैंने जावा में थोड़ा शिकारी-शिकार सिमुलेशन लिखा है। यहां तक कि अगर नियम काफी जटिल होते हैं और एक अराजक प्रणाली में समाप्त इस्तेमाल तकनीक सरल हैं:जावा निर्धारित नहीं है?
- arithmetics और बुनियादी डेटा प्रकार
- कोई बाहरी पुस्तकालयों
- कोई बाहरी सिस्टम शामिल किए गए हैं पर निर्णय
- कोई संगामिति होता
तो मैंने सोचा कि जब साथ प्रणाली आरंभ वर्तमान समय या तिथि का कोई उपयोग नहीं समान पैरामीटर को समान परिणामों को आउटपुट करना चाहिए, लेकिन ऐसा नहीं है और मुझे आश्चर्य है कि क्यों।
उस पर कुछ विचार: मेरा आवेदन Random
एस का उपयोग करता है, लेकिन उस परीक्षण के लिए मैं उन्हें सभी को एक दिए गए मान के साथ शुरू करता हूं, इसलिए मेरी समझ में उन्हें प्रत्येक क्रम में एक ही आउटपुट के लिए बनाना चाहिए।
मैं Set
एस के माध्यम से पुनरावृत्त कर रहा हूं, और मुझे पता है कि ऑर्डर Set
पुनरावृत्त नहीं है। लेकिन मुझे कोई कारण नहीं दिख रहा है कि एक Set
जो एक ही क्रम में भरा हुआ है, उसी मान के साथ कई रनों में अलग व्यवहार करना चाहिए। क्या यह?
मैं float
एस का उपयोग कर रहा हूं। डेटाटाइप जहां 1 + 1 = 1.99 99 99 99 99725 हमेशा मुझे संदेह करते हैं, लेकिन अगर मेरा व्यवहार मेरे लिए अजीब है, तो यह हमेशा एक ही अजीब होना चाहिए। यही है ना
कचरा संग्रह निर्धारक नहीं है, लेकिन जब तक मैं विनाशकों पर भरोसा नहीं करता हूं, मुझे सुरक्षित होना चाहिए।
जैसा ऊपर बताया गया है, उपयोग में वास्तविक समय के आधार पर कोई सहमति नहीं है और कोई डेटाटाइप नहीं है।
मैं उस व्यवहार को एक साधारण उदाहरण में पुन: उत्पन्न नहीं कर सकता। लेकिन मेरे कोड के माध्यम से जा रहा है, मैं कुछ भी नहीं देख सकता जो अप्रत्याशित हो सकता है। तो क्या मेरी गलत धारणाएं गलत हैं? कोई विचार जो मैं खो सकता था?
यहाँ मेरी मान्यताओं को सत्यापित करने के लिए एक परीक्षण है:
public static void main(String[] args) {
Random r = new Random(1);
Set<Float> s = new HashSet<Float>();
for (int i = 0; i < 1000000; i++) {
s.add(r.nextFloat());
}
float ret = 1;
int cnt = 0;
for (Float f : s) {
float multiply = 0.3f;
if (cnt++ % 2 == 0) {
multiply = 0.7f;
}
float f2 = (f * multiply);
ret += f2;
}
System.out.println(ret);
}
यह 242455.25 में हमेशा परिणाम मेरे लिए।
समय समारोह? – Mysticial
जब आप कहते हैं कि आप अपना यादृच्छिक डेटा प्रारंभ करते हैं, तो क्या आपका मतलब है कि आप बीज का उपयोग करते हैं? – tjameson
यह दिलचस्प लगता है। क्या हम आपके कोड पर नजर डालेंगे? – kol