ايران ويج

نسخه‌ی کامل: دستور جایگزینی در جاوا اسکریت
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام
دستور جایگزینی تو فایرفاکس کار نمیکنه یه متغیر رو میخوام جمع تجمعی بزنم واز دستور x += y استفاده میکنم( معادل x = x + y ) .
از دوستان کسی میتونه راهنمائی کنه
سلام

اول از همه کدتون رو بذارید ببینیم

دوم در این جور مواقع در فایرفاکس یدوه f12 بزنید سفجه دیباگر باز بشه؛ در قسمت console میتونید پیام خطا رو ببینید و اون رو رفع کنید..

سوم اینکه من هیچوقت اسم این چیزا رو یا نگرفتم خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید  که کدوم اپراتور هست کدوم .... ولی فکر نمیکنم جایگزینی باشه‌ها اون! خنده بلد − بهینه شده برای ورژن جدید
ممنون از شما
البته خیلی با جاوا اسکریپ کار نکردم

کد php:
var period1 40
var period2 14
var price = [];price.lenght=period1
var df = [];df.lenght=period1
var = [];g.lenght=period1
var = [];l.lenght=period1
var zg=[];zg.lenght=period1
var zl=[];zl.lenght=period1
var azg=[];azg.lenght=period1
var azl=[];azl.lenght=period1
var st11 =[];st11.lenght=period1
var st12=[];st12.lenght=period1
var r1=[];r1.lenght=period1
var r2=[];r2.lenght=period1
var =period1-1
var i=0;var x=0;var y=0;var sg=0;var sl=0;var u1=0;var u2=0;var x1=0;var y1=0
var rs=0;var rsi=0

for(i=0;i<period1;i++){
price[j]=[ih][i].PDrCotVal;
j--;
}

for (
i=1;i<period1;i++){
df[i]=(price[i]-price[i-1])
if(
df[i]>0){g[i]=df[i]}
if(
df[i]<0){l[i]=df[i];l[i]=Math.abs(l[i])}
if(
df[i]=0){g[i]=0;l[i]=0}
}

for(
x=period2+1;x<period1;x++){

sg=0
for(y=x-period2+1;y<=x;y++){sg+=g[y]}
zg[x]=sg
sg
/=period2
azg
[x]=zg[x]/period2

sl
=0
for(y=x-period2+1;y<=x;y++){sl=l[y]}
zl[x]=sl
sl
/=period2
azl
[x]=zl[x]/period2
}


(
cfield0)=zg[period1-1]

//(cfield1)=r2
//(cfield2)=l[period1-4] 
این کدتون واسه این سوالتون نیستا!
جناب Babyy
تو حلقه آخر . مثلا" sg+=g[y] اجرا نمیشه دستور معادلی هم بلد نیستم که sg رو تو حلقه جمع بزنم
البته این کد برای فیلتر نویسی تو بورس سهام هست
فکر نمیکنم مشکل از اون باشه؛ احتمالا g خالی هست و ..
وگرنه مشکل از اون دستور نیست
درود دست زدن - بهینه شده برای ورژن جدید
g خالی بود با حلقه و چند if داخل اون مشکل داشتم باید از if else استفاده میشد . حالا تو دوتا حلقه تو در تو گیر افتادم. خنده بلد − بهینه شده برای ورژن جدید
(۰۸-شهریور-۱۳۹۸, ۱۱:۵۰:۴۵)javad917 نوشته است: [ -> ]درود دست زدن - بهینه شده برای ورژن جدید
g خالی بود با حلقه و چند if داخل اون مشکل داشتم باید از if else استفاده میشد . حالا تو دوتا حلقه تو در تو گیر افتادم. خنده بلد − بهینه شده برای ورژن جدید

من کدتون رو تست کردم؛ در ظاهر جواب برگردوند؛ ولی اینکه جوابی که داد همونی بود که شما مد نظرتون هست رو نمیدونم ...

کجای حلقه ها؟

---
پیام خصوصی هم دادم بهتون ادرس تلگراممو دادم
ممنون جناب babyy
تو حلقه دوم سه عدد if پشت سرهم هست. این الگوریتم رو قبلا" با vb6 نوشته بودم و مشکلی نداشت ولی تو جاوا مثل اینکه عمکرد حلقه ها کمی فرق میکنه با گذاشتن elde درست شد یه مشکلی هم که داشت اجرا هیچ موقع به if اخر نمیرسد و متغیر هائی که قرار بود صفر بشن خالی میموند و برای جاوا به عنوان undefined شناسائی میشد و احتمالا" از برنامه خارج میشد .مشکلی که دارم تو اون ادیتور آنلاین امکان اجرای سطر به سطر رو ندارم و کنترل برنامه خیلی زمانبر میشه و نمیدونم برای این کار از چه ادیتوری استفاده کنم
به هر حال ممنون از توجه شما
کد php:
for (i=1;i<period1;i++){
    
df[i]=(price[i]-price[i-1]);
    if (
df[i]>0){
        
g[i]=df[i];
        
l[i]=0;
    }else if(
df[i]<0){
        
l[i]=df[i];
        
l[i]=Math.abs(l[i]);
        
g[i]=0;
    }else{
        
g[i]=0,l[i]=0;
    }

(۰۹-شهریور-۱۳۹۸, ۱۴:۰۲:۵۰)javad917 نوشته است: [ -> ]ممنون جناب babyy
تو حلقه دوم سه عدد if پشت سرهم هست. این الگوریتم رو قبلا" با vb6 نوشته بودم و مشکلی نداشت ولی تو جاوا مثل اینکه عمکرد حلقه ها کمی فرق میکنه با گذاشتن elde درست شد یه مشکلی هم که داشت اجرا هیچ موقع به if اخر نمیرسد و متغیر هائی که قرار بود صفر بشن خالی میموند و برای جاوا به عنوان undefined شناسائی میشد و احتمالا" از برنامه خارج میشد .مشکلی که دارم تو اون ادیتور آنلاین امکان اجرای سطر به سطر رو ندارم و کنترل برنامه خیلی زمانبر میشه و نمیدونم برای این کار از چه ادیتوری استفاده کنم
به هر حال ممنون از توجه شما
کد php:
for (i=1;i<period1;i++){
    
df[i]=(price[i]-price[i-1]);
    if (
df[i]>0){
        
g[i]=df[i];
        
l[i]=0;
    }else if(
df[i]<0){
        
l[i]=df[i];
        
l[i]=Math.abs(l[i]);
        
g[i]=0;
    }else{
        
g[i]=0,l[i]=0;
    }


اصول حلقه که همونه؛ فرقی نمیکنه؛ یه متغیر رو از یه شماره تا یه شماره‌ی دیگه ای کم یا زیاد میکنه و هر بار یه کدی رو هم اجرا میکنه ...

مشکل undefined هم به خطا در کدنویسیتون بر میگرده که میتونه دلایل مختلفی داشته باشه؛

اینکه فرمودید به if نمیرسه هم به منطق برنام اتون بر میگرده؛ درواقع درست ترش اینه که به if میرسه؛ ولی چون با شرط هایی که تعریف کردید همخوانی نداره؛ دستورات شرطیتون اجرا نمیشه ..

در کل یکم به ریزه کاری ها توجه کنید؛ مشکل انچنانی در اجراش ندارید
سلام فرمایشات شما درسته من متاسفانه برای کد آخر فراموش کردم بنویسم که این کد اصلاح شده هست و کار میکنه ایرادتی که گفتم مربوط به اولین کد پیوست میشه (ارسال 3). اشکالات مربوط به این کد زیر بود
بازم ممنون


کد:
for (i=1;i<period1;i++){
df[i]=(price[i]-price[i-1])
if(df[i]>0){g[i]=df[i]}
if(df[i]<0){l[i]=df[i];l[i]=Math.abs(l[i])}
if(df[i]=0){g[i]=0;l[i]=0}
}
صفحه‌ها: 1 2