ورود

View Full Version : مشکل در تعریف شی برای یک کلاس (آرایه ها)



AVR programmer
یک شنبه 02 خرداد 1395, 16:02 عصر
این برنامه باید یک عدد به عنوان طول آرایه و همینطور کل آرایه های ورودی رو که از جنس دما هستن رو بگیره و سپس با استفاده از کلاس temp کمترین و بیشترین دما رو چاپ کنه که همونطور که می بینید من در تعریف شی و همینطور استفاده از متدها به مشکل خوردم
لطفا راهنماییم کنین
این برنامه اصلی:

package test0;

import java.util.*;


public class temperature {
static Scanner console = new Scanner(System.in);


public static void main(String[] args) {
int length,maximum0,minimum0;
System.out.print("Enter temp-array length : ");
length=console.nextInt();
int [] temp0 = new int[length];
System.out.print("Enter temp numbers : ");
for (int i =0 ;i<length;i++){
temp0[i]=console.nextInt();
}
temp temp1=new temp();

System.out.print("maximum temperature is: " +);
System.out.print("minimum temperature is: "+);

}
}




اینم کلاس temp :


package test0;

public class temp {
public int maximum(int a[]){
int max=0;
for (int i=0;i<a.length;i++){
if (a[i]>max ){
max=a[i];
}
}
return max;

}
public int minimum(int a[]){
int min=a[0];
for (int i=0;i<a.length;i++){
if (a[i]<min ){
min=a[i];
}
}
return min;


}
}

vahid-p
یک شنبه 02 خرداد 1395, 18:53 عصر
هر چند در مثال شما میتونید بنویسید temp1.maximum(temp0) و خروجی رو چاپ کنید، مقدار ماکزیمم دما در آرایه رو بهتون میده اما اگر میخواید از شی گرایی استفاده کنید، ایجاد یک کلاس به اسم temp و دو متد و هیچ فیلدی چندان درست به نظر نمیاد. البته اگر متدهای کلاس temp استاتیک باشند به این منظور که نیازی به ایجاد شی از temp نداشته باشید، منطقی تر به نظر میاد (مثل کلاس Math که یکسری متدهای کاربردی رو داره و نیازی نیست ازش شی بسازیم)

به نظرم از یک منبع آموزش جاوا یا یک زبان شی گرای دیگه مفاهیم شی گرایی رو بخونید، سریع می تونید باهاش کار کنید (چون احتمالا برنامه نویس C باشید)

AVR programmer
یک شنبه 02 خرداد 1395, 20:46 عصر
خیلی ممنون مشکلم حل شد.
من برنامه نویس avr هستم و با زبانهای بیسیک و اسمبلی آشنایی دارم .