2014-11-22 2 views
0

내가 배열을 정의 :자바 변수 정의 패턴

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

좋은 설명, 그냥 변수 이름 규칙 주위에 검색 좀, 변수 이름은 소문자로 시작합니다. 이름의 후속 단어의 첫 글자는 대문자로 시작되고 밑줄은 단어 (또는 범위 변수)를 구분하는 데 사용되지 않습니다. http://www.iwombat.com/standards/JavaStyleGuide.html#Attribute%20and%20Local%20Variable%20Names –