تخفیف های داغ در جشنواره تابستانه توسینسو تخفیف های داغ در جشنواره تابستانه توسینسو
مانده تا پایان تخفیف
مشاهده دوره ها
0

متد length در زبان جاوا

سلام به دوستان عزیز

می خواستم بدونم آیا متد length فقط برای تعیین طول رشته به کار می رود یا برای type های دیگر نیز به کار می رود؟ مثلا اگر در آرایه یا لیست ازش استفاده کنیم :

studenetList.length    

می تواند از نوع int باشد؟

یا راهی خواهم یافت یا راهی خواهم ساخت .

پرسیده شده در 1393/06/23 توسط

7 پاسخ

2

سلام

بله میتونید استفاده کنید در آرایه ها و لیست ها و هر چیزی که طول داره میتونید ازش بهره بگیرید.

ضمناً int طول نداره بلکه بازه داره از یه بازه ای شروع میشه تا یه جا ختم میشه ولی آرایه ها و لیست ها و رشته ها معلوم نیست طولشون چقدره یعنی به عبارتی طولشون متغیر هست و ممکنه کم و زیاد باشه در این حالات length معنی پیدا میکنه.

مثال 1

double max = myList[0];
for (int i = 1; i < myList.length; i++) {
if (myList[i] > max) max = myList[i];
}

مثال 2

public class AnalyzeNumbers {
 public static void main(String[] args) {
 double sum = 0;
  double[] numbers = new double[100];
 java.util.Scanner input = new java.util.Scanner(System.in);
 for (int i = 0; i < numbers.length ; i++) {
       System.out.print("Enter a new number: ");
       numbers[i] = input.nextDouble();
       sum += numbers[i];
 }

 double average = sum / 100;

 int count = 0; // The number of elements above average
 for (int i = 0; i < 100 ; i++)
    if (numbers[i] > average) count++;
 System.out.println("Average is " + average);
 System.out.println("Number of elements above the average "  + count);
}
}

مثال 3

java.util.Scanner input = new Scanner(System.in);
for (int r = 0; r < matrix.length ; r++) {
 for (int c = 0; c < matrix[r].length ; c++) {
   matrix[r][c] = input.nextInt(); 
}
}
پاسخ در 1393/06/23 توسط
0

آره ولی عاقلانه نیست واسه int به کار ببرین اول cast کنین بعد لنت استفاده کنین مثلا

mynum.ToString.lenght()

البته خیلی وقته سی شارپ کار نکردم امیدوارم که کوچیک بزرگارو درست نوشته باشم

پاسخ در 1393/06/24 توسط
0

یعنی من باید method1 ام را در یک کلاس دیگر تعریف کنم و نوع خروجی آن از نوع بولین باشد ؟ نمی توانم یک متد را فقط به این شکل در داخل متد دیگری فراخوانی کنم؟

پاسخ در 1393/06/23 توسط
0

آقای خانلری من در لیست نتونستم متد length رو استفاده کنم! در لیست هم صدق میکنه این موضوع؟

پاسخ در 1393/10/16 توسط
0

حتی برای بررسی یک مقدار boolean ، مثلا اگر در لیست دروس جستجو کنیم و ببینیم آیا نام درس مورد نظر وجود دارد یا نه و این مقدار را با یک متغیر از نوع boolean بررسی کنیم ، نیز می توانیم در loop آن از یک لیست و متد length استفاده کنیم؟

for(int i=0;i<courselist.length;i++)
{
boolean courseName=courseList[i].method1();

if(coursename==true)
{

اینجا می خواهم در لیست دروس جستجو کنم و بعد با متغیر courseName بگویم که اگر درس مورد نظر موجود بود ..... . آیا می توانم چنین کاری انجام دهم؟ و آیا مقدار i را باید همان int بگیرم؟

پاسخ در 1393/06/23 توسط
1

method1 رو میتونید تو همون کلاس ایجاد کنید هیچ قیدی وجود نداره که حتماً باید در یک کلاس دیگه ایجاد شه ولی نوع خروجی اون متد حتماً باید Boolean باشه دلیلش هم اینه که شما نتیجه رو دارید میریزید تو یه متغیری از نوع بولین فرض کنید اون متد به شما داره یه عدد میده مثلاً 10 شما 10 رو نمیتونید تو یه متغیری بریزید که فقط False و True میپذیره.

پاسخ در 1393/06/23 توسط
1

بله مشکلی در کد شما وجود ندارد میتونید این کار رو انجام بدید فقط میمونه خط زیر

boolean courseName=courseList[i].method1();

در کد بالا اون متد1 چیکار میکنه؟

اگر خروجی اون متد از نوع بولین باشه این خط هم درسته چون در هر صورت نتیجه حتماً باید بولین باشه چون داره میریزه تو یه متغیری از نوع بولین.

پاسخ در 1393/06/23 توسط

پاسخ شما