احمد صوالحة نشر 22 فبراير 2021 أرسل تقرير نشر 22 فبراير 2021 يحدث الخطأ " not a statement " أثناء إستدعاء الدالة التالية: public boolean binarySearch(int[] list, int target, int low, int high) { list ={"1,2,5,7,9,15"}; target = 5; boolean result = binarySearch(list, target, 0, list.length-1); executions++; int mid = (low + high) / 2; if(!result){ System.out.println("Target not found -- bad search."); }else{ System.out.println("Target found -- sucessful search!"); } if (list[mid] == target) { return true; } else { if (low > high) { return false; } else { comparisons++; if (list[mid] < target) { return binarySearch(list, target, mid + 1, high); } else { return binarySearch(list, target, low, mid - 1); } } لم أفهم ماذا تعني رسالة الخطأ ؟ وما هو الحل ؟ 1 اقتباس
0 عبد الله محمد5 نشر 22 فبراير 2021 أرسل تقرير نشر 22 فبراير 2021 الخطأ not a statement يعني أن التعبير الذي كتبه غير ذو معنى ولا يسمح به ويحدث لأسباب متعددة منها مثلاً ان تقوم بكتابة 0; او a+b; او حتى ان تستدعي دالة بدون كتابة الأقواس any; اما في حالتك فأظن أن لديك مشكلة في السطر الأول في عملية اسناد القيم للمصفوفة لابد أن تكون كالتالي: list [0] = {"اكتب القيم"}; اقتباس
1 Wael Aljamal نشر 22 فبراير 2021 أرسل تقرير نشر 22 فبراير 2021 إن list هي مصفوفة أعداد من النوع int أي يجب أن تكتب الأعداد بدون " اقتباس ويفصل بينها فواصل. int[] list ={1,2,5,7,9,15}; ويوجد أخطا في طريقة كتابة تابع البحث الثنائي حيث يجب أن تكون بالطريقة التالية: import java.util.*; import java.lang.*; import java.io.*; class Main { public static int executions = 0, comparisons = 0; public static void main(String[] args) throws java.lang.Exception { int[] list = {1,2,5,7,9,15}; int target = 5; boolean result = binarySearch(list, target, 0, list.length - 1); if (!result) { System.out.println("Target not found -- bad search."); } else { System.out.println("Target found -- sucessful search!"); System.out.println("executions: " + executions); System.out.println("comparisons: " + comparisons); } } public static boolean binarySearch(int[] list, int target, int low, int high) { executions++; int mid = (low + high) / 2; if (list[mid] == target) { return true; } else { if (low > high) { return false; } else { comparisons++; if (list[mid] < target) { return binarySearch(list, target, mid + 1, high); } else { return binarySearch(list, target, low, mid - 1); } } } } } وسيكون الخرج: Target found -- sucessful search! executions: 1 comparisons: 0 أي سيجد القيمة 5 من أول محاولة اقتباس
السؤال
احمد صوالحة
يحدث الخطأ " not a statement " أثناء إستدعاء الدالة التالية:
لم أفهم ماذا تعني رسالة الخطأ ؟ وما هو الحل ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.