2014-11-22 5 views
0

Я определил массив следующим образом:Java шаблон определения переменной

int[][] temp_blocks = new int[dim][dim]; 

Но я получил предупреждение:

Name 'temp_blocks' must match pattern `^[a-z][a-zA-Z0-9]*$|^[A-Z][A-Z_0-9]*$`. 

Любая идея, почему это, и как это исправить?

+0

Кажется, что ваш компилятор не любит подчеркивание. –

+0

@YuvalFilmus Если это так, то компилятор ошибочен. [Java позволяет подчеркивать имена переменных] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html). –

+0

В соответствии с регулярным выражением, это позволяет только подчеркивать переменную ALL_CAPS (которая также может содержать цифры). –

ответ

1

Компилятор сообщает вам, что имена переменных должны соответствовать регулярному выражению ^[a-z][a-zA-Z0-9]*$|^[A-Z][A-Z_0-9]*$. В этом регулярном выражении указывается, что существует два типа переменных:

  1. Переменные, начинающиеся с буквы нижнего регистра. Они могут содержать строчные буквы, заглавные буквы и цифры.

  2. Переменные, начинающиеся с прописной буквы. Они могут содержать заглавные буквы, цифры и символы подчеркивания.

Ваше имя переменной temp_blocks не соответствует этим условиям, поскольку она начинается со строчной буквы, но содержит подчеркивание.

+0

Nice Explanation, Просто googled вокруг условных обозначений имен переменных, Имена переменных начинаются с строчной буквы. Исходная буква любых последующих слов в названии капитализируется, а символы подчеркивания не используются для разделения слов (или переменных сферы). http://www.iwombat.com/standards/JavaStyleGuide.html#Attribute%20and%20Local%20Variable%20Names –

Смежные вопросы