2016-08-07 5 views
2

Вот мой кодКак увеличиваем переменную экземпляра из метода

public class AlphaSwap { 

    public static void main(String[] args) { 
     String input[] = { "a", "b", "c", "_" }; 
     int start = 0; 
     int end = input.length - 1; 

     AlphaSwap alphaSwap = new AlphaSwap(); 
     alphaSwap.swapFirst(input, start, end); 

     //swapLast(input, start, end); 

     for (String string : input) { 
      System.out.println(string); 
     } 
     System.out.println(start); 
     System.out.println(end); 
    } 

    private void swapFirst(String[] input, int i, int j) { 
     String temp = input[i]; 
     input[i] = input[j]; 
     input[j] = temp; 
     i++; 
    } 
} 

у меня будет больше какой-то способ делать множество операций. Здесь я хочу увеличить значение начальной переменной из метода swapFirst. Но не уверен, как это сделать.

+0

Вы увеличивающееся значением 'i', но вы должны положить, что в' for' петли для увеличения всех значения. – VatsalSura

+0

@ VatsalSura Я не хочу использовать для цикла. У меня будет еще один метод, который будет заменяться последним, и я буду использовать два потока для обмена с первого и последнего. Это просто для soem pratice, я пытаюсь – suresh

ответ

3

определяет start переменных общественностей, так что вы можете получить доступ к нему со всех сторон, следующим образом:

public class AlphaSwap { 
static int start = 0; 
public static void main(String[] args) { 
    String input[] = { "a", "b", "c", "_" }; 
    // int start = 0; 
    int end = input.length - 1; 

    AlphaSwap alphaSwap = new AlphaSwap(); 
    alphaSwap.swapFirst(input, start, end); 

    //swapLast(input, start, end); 

    for (String string : input) { 
     System.out.println(string); 
    } 
    System.out.println(start); 
    System.out.println(end); 
} 

private void swapFirst(String[] input, int i, int j) { 
    String temp = input[i]; 
    input[i] = input[j]; 
    input[j] = temp; 
    start++; 
} 
}