簡體   English   中英

Integer.parseInt:冒泡排序中的Java錯誤

[英]Integer.parseInt : Java ERROR in Bubble Sorting

我多次遇到此錯誤。 如何解決..我已經解決了沒有命令行參數的問題,但是現在這給了我一個錯誤。 如何使用Integer.parseInt()解決它。

 BubbleSort.java:24: error: incompatible types: String[] cannot be converted to String int num[] = Integer.parseInt(args); ^ Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output 1 error 
 class  Demo { 
     static void bubble(int[] list) {  
       int temp = 0, k , j;
       int n = list.length;
       for(k = 0;k < n - 1;k++) {
        for(j = 0;j < n - k - 1;j++) { 
         if(list[j] > list[j + 1]) {
          temp = list[j];
          list[j] = list[j + 1];
          list[j + 1] = temp;
         }
        }
       }
      } 

     public static void main (String[] args) {
      int len=args.length;
      int num[] = Integer.parseInt(args);
      bubble(num);
      for(int i = 0;i < len; i++) {
       System.out.println("Array after bubble sort :" +args[i]);
       }
      }
    }  

int num[] = Integer.parseInt(args);

是錯的。 查看錯誤消息,它清楚地指示此錯誤: parseInt(...)並不采用字符串數組,而是采用單個字符串。 將此行替換為:

int[] num = new int[args.length];
for (int i = 0; i < args.length; i++) {
    num[i] = Integer.parseInt(args[i]);
}

嘗試這個:

int num[];
for (int i = 0; i < len; i++) {
    num[i] = Integer.parseInt(args[i]);
}

代替:

int num[] = Integer.parseInt(args);

這是因為args變量是一個字符串數組,並且Integer.parseInt方法采用單個字符串作為參數,而不是數組。

args不是單個String。 它是一個字符串數組。 您可以使用以下代碼將String數組args解析為整數數組:

int[] num= Arrays.stream(args)
        .mapToInt(Integer::parseInt)
        .toArray();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM