01/10/2018, 00:50
Hỏi về Return trong java
mình có đoạn code java sau :
public static boolean areFactors(int[] a,int n){ for(int i=0; i<a.length; i++){ if(n%a[i]==0) { return true;} else { return false; } }
}
nó báo lỗi là missing statement return ,mình không hiểu về return lắm , bạn nào chỉ cặn kẽ cho mình với, cám ơn nhiều
Bài liên quan
Nếu nó không bắt đầu được vòng lặp thì sao ?
ý bạn là sao, mình không hiểu ?
nếu nó không chạy được vào vòng lặp for, vì bất kỳ lý do gì, thì nó có chạy được câu lệnh return nào không?? Mà khi không chạy được câu lệnh return nào, thì có phải nó là missing statement return không??
Cái này logic cơ bản thôi mà!
với method boolean này thì ở cuối bao giờ cũng đòi câu lệnh return , thiếu ở thiếu cái dòng cuối đấy , chứ không phải ở trên
bạn kia nói đúng rồi còn thắc mắc gì nữa. nếu a.length mà bằng 0 thì vòng lặp đâu có chạy, mà vòng lặp k chạy thì lấy gì để return.
a.length bằng không ở đâu
Mình xin thua
Chuyển ngành ngay khi có thể đi bạn, mình không đùa đâu
thế các bạn thử viết lại cho đúng xem nào .Đề bài là Viết một phương thức có tên areFactors để nhận vào một số nguyên, n, và một mảng các số nguyên, và trả lại true nếu các số trong mảng đều là ước số của n
giải thích kĩ cho bạn 1 chút, java là 1 ngôn ngữ có thể nói là kiểm soát khá chặt chẽ - strong type , trong java nếu khi khai báo phương thức mà bạn để từ khóa là void thì bạn không cần trả về gì cả, nhưng khi bạn đã khai báo là boolean thì bạn buộc phải trả về cho nó 1 giá trị boolean, khi bạn để lệnh return ở trong if else thì nếu như điều kiện này không thỏa mã thì sẽ không có gì dc return và sẽ gây ra lỗi. giả sử bạn có cho cái biểu thức điều kiện như này if(true){return true} thì vẫn bị báo lỗi complie thôi, vì đây là logic của nó. nếu đọc xong bạn vẫn không hiểu gì thì mình nghĩ ngành này không hợp với bạn thật ,…
Bạn tìm hiểu phương pháp cờ hiệu để làm bài này nhé, mà cơ bản là bạn không hiểu rõ function.
thế các bạn thử viết lại cho đúng xem nào .Đề bài là Viết một phương thức có tên areFactors để nhận vào một số nguyên, n, và một mảng các số nguyên, và trả lại true nếu các số trong mảng đều là ước số của n
mình không biết dùng code format, bạn thử coi nó chạy đúng không
có cách nào mà không dùng đến result không, do mình tự mày mò học , không qua trường lớp nào cả , bạn có thể giải thích kỹ hơn về đoạn này được không :"… giả sử bạn có cho cái biểu thức điều kiện như này if(true){return true}…"
biểu thức sai rồi , hình như thiếu
Chạy lại thử đi bạn, mình nhầm lẫn bên js xíu
không cần chạy thử , lúc nãy thừa dấu= thôi , không cần thêm cái gì cả , cách của Nguyễn Hoàng, mình thấy hợp lý nhất ,vẫn đề không ở chỗ a.length==0, mình nghĩ nó nằm ở thuật toán của mình
các bác trên nói cũng không thừa. nhưng có vẻ bác làm ngta hớ rồi
cám ơn các bạn , mình sẽ chú ý hơn , mình sai từ ngay trong for , cám ơn rất nhiều