[英]Unable to run the Java code in Intellij IDEA : error during Compilation
public class RotationsNumbers {
public int main(String[] args) {
Solution ans= new Solution();
int[] arr= {5, 1,2, 3, 4};
System.out.println(ans.findKRotation(arr , 5));
return -1;
}
class Solution {
int findKRotation(int arr[], int n) {
// code here
int ans= findPivot(arr, 0 , n-1);
if( ans ==-1) return 0;
return ans+1;
}
int findPivot( int arr[], int start, int end){
int mid ;
while(start< end){
mid= start+ (end- start)/2;
if (mid < end && arr[mid]> arr[mid+1]){
return mid;
}
if ( mid > start && arr[mid ]< arr[mid-1]){
return mid-1;
}
if ( arr[ mid ] < arr[0]){
end= mid-1;
}else{
start= mid+1;
}
}
return -1;
}
}
}
編輯:嘗試使用 static void main too.. 仍然拋出錯誤 對於上面的代碼下面的錯誤被拋出,我該怎么辦?
錯誤:主方法必須在 class BinarySearch.SortedArray 中返回 void 類型的值,請將主方法定義為:public static void main(String[] args)
進程以退出代碼 1 結束
我看到的一些問題
public static void main
下面的代碼應該可以工作
public static void main(String[] args) {
int[] arr= {5, 1,2, 3, 4};
System.out.println(findKRotation(arr , 5));
}
static int findKRotation(int arr[], int n) {
// code here
int ans= findPivot(arr, 0 , n-1);
if( ans ==-1) return 0;
return ans+1;
}
static int findPivot( int arr[], int start, int end){
int mid ;
while(start< end){
mid= start+ (end- start)/2;
if (mid < end && arr[mid]> arr[mid+1]){
return mid;
}
if ( mid > start && arr[mid ]< arr[mid-1]){
return mid-1;
}
if ( arr[ mid ] < arr[0]){
end= mid-1;
}else{
start= mid+1;
}
}
return -1;
}
我認為您使用 class 結構是有原因的,所以除了解決您的問題/疑慮之外,我不會做任何更改:
無法運行Java代碼
要運行您的代碼,請進行這些更改;
您的解決方案:
public int main(String[] args) {
Solution ans= new Solution();
int[] arr= {5, 1,2, 3, 4};
System.out.println(ans.findKRotation(arr , 5));
return -1;
}
變成:
public static void main(String[] args)
Solution ans= new Solution();
int[] arr= {5, 1,2, 3, 4};
System.out.println(ans.findKRotation(arr , 5));
}
您的解決方案:
class Solution {
變成:
static class Solution {
通過這些最小的更改,您的代碼應該可以運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.