2016-08-29 20 views
-2

すでにコードを印刷するためにループを作成してforループを作成して発行すること。 可能な限りお手伝いしてください。Forループfor印刷方法

public class Lab2 { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    int [] nums = {10,20,30,40}; 
    int k = 1; 

} 

    public static void rotate(int[] nums , int k ) { 
     if(k > nums.length) 
      k=k%nums.length; 

     int[] result = new int[nums.length]; 

     for(int i=0; i < k; i++){ 
      result[i] = nums[nums.length-k+i]; 
     } 

     int j=0; 
     for(int i=k; i<nums.length; i++){ 
      result[i] = nums[j]; 
      j++; 
     } 



     } 

    } 
+1

'main'メソッドから' rotate'メソッドを呼び出すのを忘れてしまいました。 – Kon

+0

また、 'rotate []から' int [] result'を返さなければなりません。 – garnulf

+0

プログラムが終了していません。なぜ助けを求めるのですか? – Cotypiechocki

答えて

1

コードを印刷すると、メソッドの出力が印刷されますか?

import java.utils.Arrays; 
public class Lab2{ 
public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    int [] nums = {10,20,30,40}; 
    int k = 4; //whatever 
    for (int i = 0; i < k; i++){ 
     System.out.println(Arrays.toString(rotate(nums, i))); 
    } 
} 
public static int[] rotate(int[] nums , int k ) { 
    if(k > nums.length){ 
     k=k%nums.length; 
    } 

    int[] result = new int[nums.length]; 

    for(int i=0; i < num.length; i++){ 
     if((i+k) < num.length){ 
      result[i+k] = nums[i]; 
     }else{ 
      result[(i+k)-nums.length] = nums[i] 
     } 
    } 
    return result; 
} 
} 

はEDIT:コードは今、戻り型で、必要なインポートおよびrotateが含まれています(そして実際に回転させる必要があり、あなたのrotate(int[] nums, int k)メソッドから配列を返した後、あなたのメインの方法を変更する必要があり、コメントの状態として 配列)

+0

私はArrays.toString()が配列全体を返すと信じています。したがって、配列 'k'を印刷しています。これに加えて、彼はjava.utils.Arraysをインポートする必要があります。 – msleevi

+1

私は 'rotate'が配列を返すべきだと書いたと思います。もしこの調整が行われれば、私のコードは配列' k'を異なる回転で出力します。 – recke96

+0

はい、それはそうです。私は最初にとても良く読まなかった。しかし、それでも輸入が必要です。 – msleevi

関連する問題