2013-10-19 4 views
-1

NetBeans에 자주 문제가 있습니다. 이전에이 프로그램을 아무런 문제없이 실행할 수 있었지만 지금은 실행 후이를 알려줍니다.제 컴파일러가 컴파일 할 수없는 소스 코드가 있다고 왜 말합니까?

"스레드"에서 예외 "main"java.lang.RuntimeException : 컴파일 할 수없는 소스 코드 - 찾을 수없는 심볼 심볼 : class Loop1 위치 : 클래스 hw7 hw7.main에서 (hw7.java:72) "

import java.util.Scanner; 
class forLoops { 
void forLoop1(){ 
    Scanner in = new Scanner(System.in); 
    int cnt = 2; 

    System.out.print("Enter n:"); 
    int n = in.nextInt(); 

    for (int i = 1; i <= n; i++) { 
     for (int j = 1; j <= i; j++){ 
      if (i == 1) 
       System.out.print(1); 
      else if (i > 1) { 
       System.out.printf("%3d", cnt); 
       cnt++; 
      } 
     } 
     System.out.println(); 
    } 
    } 


void forLoop2(){ 
    Scanner in = new Scanner(System.in); 

    System.out.print("Enter n:"); 
    int n = in.nextInt(); 

    for (int i = 1; i < n+1; i++) { 
     int sum = 0; 
     for (int j = 0; j < i; j++){ 
      System.out.printf("%3d", i+sum); 
      sum = sum + n-(j+1); 
     } 
     System.out.println(); 
     } 
    } 

void forLoop3(){ 
    Scanner in = new Scanner(System.in); 

    System.out.print("Enter n:"); 
    int n = in.nextInt(); 

    int x = 1; 

    for (int i = 1; i < n+1; i++) { 
     int sum = 0; 
     for (int j = 0; j < i; j++){ 
      System.out.printf("%3d", i+sum); 
      sum = sum + n-(j+1); 
     } 
     System.out.println(); 
     } 
    } 
} 
public class hw7 { 
public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 

    forLoops myL1 = new forLoops(); 
    myL1.forLoop1(); 
    forLoops myL2 = new forLoops(); 
    myL2.forLoop2(); 
    Loops myL3 = new forLoops(); 
    myL3.forLoop3(); 
} 

}

+2

'Loop1','Loop2' 및 'Loop3'은 어디에 정의되어 있습니까? –

+0

아무데도. 그는 forLoops 클래스를 인스턴스화해야합니다. –

+0

오른쪽. 컴파일러는 Loop1이 없기 때문에 Loop1을 찾을 수 없습니다. –

답변

2

당신은 클래스를 올바르게 인스턴스화 아닙니다. 질문에 관련없는

forLoops myL1 = new forLoops(); 
myL1.forLoop1(); 
forLoops myL2 = new forLoops(); 
myL2.forLoop2(); 
forLoops myL3 = new forLoops(); 
myL3.forLoop3(); 

자바 클래스 규칙에 따라, 대문자로 시작 참고 : 그것의 이름은 forLoops이기 때문에, 당신은 같은 것을 할 필요가있다.

+0

Downvoter, ** ** 당신의 행동을 설명해 주시겠습니까? –

2

이 라인 72 : Loop1 myL1 = new Loop1();

당신은 Loop1을라는 클래스를 사용하는,하지만 당신은 그것을 정의하지 않았습니다.

관련 문제