반응형
intellij Run 비활성화 시 해결 방법

intellij를 사용하다보면 테스트 케이스만 Run이 활성화 되어 메인 클래스에서 사용하지 못하는 경우가 있는 것 같습니다. 아래 내용을 순서대로 따라하여 메인 클래스의 Run을 다시 활성화할 수 있습니다.

 

1. Intellij 우측 상단 1번 박스 부분 클릭 → Edit Configurations... 클릭

1번 박스 부분은 테스트 케이스 클래스의 이름이거나, 테스트 케이스도 아닐 경우 Add Configurations... 로 표시됩니다.

 

2. + 아이콘 클릭 → Application 클릭

 

3. Name에 이름을 작성한 후 Main class 부분을 클릭하여 Main 클래스의 이름을 작성 해주세요.

Main class 칸에서 Shift + Enter를 입력하면 아래 사진과 같이 메인 클래스 설정을 도와주는 창이 나옵니다. 

 

4. no module 클릭 → module 선택

마지막으로 module을 클릭해줍니다. 이름은 당연히 환경마다 다르니 자신의 개발 환경에 맞게 선택하여 적용시키시면 되며, 이후 Run 버튼이 활성화된것을 확인할 수 있습니다.

반응형
반응형
intellij에서 Spring 실행 시 finished with non-zero exit value 1 에러 해결 방법

intellij에서 Spring 실행 시 finished with non-zero exit value 1 에러가 발생할 경우 아래와 같이 해결할 수 있습니다.

1. File → Settings...

 

2. Build, Execution, Deployment → Build Tools → Gradle 

경로를 들어가보면 Build and run using과 Run tests using이 Gradle(default)로 되어있을 텐데, 두개 다 Intellij IDEA로 변경 해주시면 됩니다.

 

이후 다시 Spring을 실행해보면 정상적으로 실행됨을 확인할 수 있습니다.

반응형
반응형
자바 int a = 011 -> 9가 나오는 이유 ( what is "int a = 011" and not 9 why, The literal 09 of type int is out of range )

위와 같이 자바에서 의도치 않은 에러가 나올 경우가 있습니다. 똑같은 값을 변수에 입력 하더라도 입력 방식에 따라 서로 다른 의미가 부여되어 다른 결과값이 나오게 됩니다.

int num1 = 07 8 진수
int num2 = 7 10 진수
int num3 = 0x7 16진수
int num4 = 0b0111 binary (2진수)

 

결과값은 아래와 같습니다. 아래 결과를 이해하기 위해서는 8진수, 10진수, 16진수, binary(2진수)의 계산 방식을 이해할 필요가 있으며 이번 포스팅의 목표는 진법에 대해 아는것보다는 어떤식으로 입력되느냐에 따라 비슷해 보이지만 전혀 다른 결과값이 나올 수 있음을 아는것이기 때문에 진법의 설명은 생략하도록 하겠습니다.

 

반응형
반응형
자바 charAt()의 문자를 정수형과 비교(if) 방법

아래의 번호는 3가지 방법이 있다는 뜻이 아닙니다. 3가지 내용들을 확인 해보면 어째서 이렇게 비교해야 하는지 이해하실 수 있습니다.

 

1. charAt()의 리턴 타입은 char형 입니다.

자바의 charAt()은 리턴 타입이 char형입니다. 아래 예시를 기준으로 반환값이 숫자로 보일테지만 실제로는 '1', '5', '8', '9'과 같습니다. 즉, 아래와 같은 코드가 있을 때 반환값은 '1' 입니다.

 

2. 아스키 코드표(ASCII TABLE)을 확인하고 10진과 문자를 확인하여 비교 해보세요.

아래는 아스키 코드표의 일부 입니다. 10진법으로 숫자 48은 문자 '0' , 숫자 49는 문자 '1'으로 되어있습니다. 그렇다면 정수형과 문자(1~9)를 비교하기 위해서는 48을 빼거나, 똑같은 문자형인 '0'을 뺀다면 숫자와 문자를 비교할 수 있음을 알 수 있습니다.

'a', 'B'와 같은 문자도 아스키 코드표를 검색 후 확인하여 볼 수 있으며, 아스키 코드표의 특징은 숫자 형태의 문자 또는 알파벳 문자가 순서대로 나열될 때 10진의 숫자가 1씩 오른다는 점 입니다.

10진 문자
48 '0'
49 '1'
50 '2'
51 '3'
52 '4'
53 '5'
54 '6'
55 '7'
56 '8'
57 '9'

 

3. 위의 1,2번을 참고하여 직접 코드를 확인 해보세요.

아래의 예시를 보겠습니다. 위의 아스키 코드표와 아래 예시 코드를 함께 보시면 됩니다.

  1. stringSum.charAt(0)의 값은 '1' 이며 10진수로 49 입니다.
  2. 49 - 48 = 1 이므로 첫번째 조건식은 true 입니다.
  3. stringSum.charAt(1)의 값은 '5' 이며 10진수로 53 입니다.
  4. '0'은 10진수로 48 입니다.
  5. 53 - 48 = 5 이므로 두번째 조건식은 true 입니다.
  6. stringSum.charAt(2)의 값은 '8' 이며 10진수로 56 입니다.
  7. 56 - 48 = 8 이므로 세번째 조건식은 true 입니다.

 

반응형

+ Recent posts