Мне нужен троичный оператор в Java, который назначает две переменные, если условие выполняется - PullRequest
0 голосов
/ 31 октября 2011

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

    int[] chkNext(int mnd, int y) {  
        int[] date = new int[2];  
        mnd = 12 ? mnd = 1, y++ : mnd++; // returns the following: "error: : expected"
        date[0] = mnd, date[1] = y;  
        return date;  
    }  

Ответы [ 2 ]

8 голосов
/ 31 октября 2011

Просто используйте оператор if.

if (mnd == 12) {
//      ^^  very important
  mnd = 1;
  y++;
} else {
  mnd++;
}

И это:

date[0] = mnd, date[1] = y;  

Было бы лучше как:

date[0] = mnd; date[1] = y;  

Не использоватьоператор запятой, если он вам действительно не нужен.

0 голосов
/ 31 октября 2011

Конструкция троичного оператора неверна, так как должно быть условие перед '?'.Как предложил Mat, лучше использовать if, если.

...