>  기사  >  Java  >  Java 컴파일러 오류 \'\'.class\' 예상\'이 발생하는 이유는 무엇입니까?

Java 컴파일러 오류 \'\'.class\' 예상\'이 발생하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-21 04:45:14694검색

Why am I getting the Java compiler error

오류 이해: 예상되는 .class

컴파일러가 표현식이 예상되는 유형(예: int 또는 int[])입니다. 구문론적으로 이는 허용되는 유일한 기호가 임을 의미합니다. 그 다음에는 class.

오류 원인

이 오류는 컴파일러 혼동으로 인해 발생합니다. 구문 검사는 표현식이 예상되는 유형을 감지하여 '.class' 예상 메시지를 표시합니다.

오류의 예

double d = 1.9;
int i = int d;  // error: '.class' expected
         ^

해결 그만큼 오류

  • Typecast: 형변환을 입력하려면 해당 유형을 괄호로 묶으세요.

    double d = 1.9;
    int i = (int) d;  // Correct: type casts `1.9` to an integer
  • 제거 유형: 값을 할당하거나 통과하려는 경우 매개변수, 유형 제거:

    int j = someFunction(a);  // Correct ... assuming 'a' type is compatible for the call.

추가 예

  • 배열 참조:

    someMethod(array[]);

    수정해주세요 대상:

    someMethod(array);  // pass reference to the entire array

    또는

    someMethod(array[someExpression]);  // pass a single array element
  • 메서드 호출의 매개변수 선언:

    int i = someMethod(int j);  // Error

    제거 매개변수 선언:

    int i = someMethod(j);
  • 배열 선언의 세미콜론:

    int[]; letterCount = new int[26];

    세미콜론 제거:

    int[] letterCount = new int[26];
  • 종류 표현식 대신 선언자:

    return integers[];

    전체 배열 또는 특정 요소 반환:

    return integers;  

    또는

    return integers[someIndex];  // Return one element of the array
  • 그리워진 컬리 중괄호:

    if ((withdraw % 5 == 0) && (acnt_balc >= withdraw + 0.50))
      double cur = acnt_balc - (withdraw + 0.50);
      System.out.println(cur);
    else
      System.out.println(acnt_balc);

    "then" 문을 중괄호로 묶습니다:

    if ((withdraw % 5 == 0) && (acnt_balc >= withdraw + 0.50)) {
      double cur = acnt_balc - (withdraw + 0.50);
      System.out.println(cur);
    } else {
      System.out.println(acnt_balc);
    }

위 내용은 Java 컴파일러 오류 \'\'.class\' 예상\'이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.