2013-03-18 8 views
0

코스에 대해 만든이 자바 코드가 있습니다. 나는 break 문을 구현하려고 시도했지만 실패했다.break 문을 설정하려고 시도했습니다

나를 올바른 방향으로 안내 할 수 있습니까?

import java.util.Scanner; 

public class gradeAverage { 

    public static void main(String[] args){ 
      Scanner input = new Scanner(System.in); 
      int input1; 
      int input2; 
      int input3; 

      //Calculate 
      int studentAvg; 

      //Prompt for first user input or break if input = q 
      System.out.print("Enter first student grade or q to quit: "); 
      if { 
       (input1=input.nextInt() = q) 
       break; 
       else 
        input1=input.nextInt() =; 
    } 
      //Prompt for second user input or break if input = q 
      System.out.print("Enter second student grade or q to quit: "); 
      input2=input.nextInt(); 

      //Prompt for third user input or break if input = q 
      System.out.print("Enter third student grade or q to quit: "); 
      input3=input.nextInt(); 

      studentAvg=(input1+input2+input3)/3; 

      System.out.printf("The Student's grade average is %d\n" , studentAvg); 

    } 
} 
+0

실제로 변수를 사용해야하는 곳에서 변수를 멀리 선언하지 마십시오. 'int input2 = input.nextInt();''int input3 = input.nextInt();'와'int studentAvg = (input1 + input2 + input3)/3;'는 괜찮을 것입니다. 코드는 int/lond/float 또는 double입니다. – dantuch

답변

5

break 문은 루프 또는 어떤 종류의 (for, while, 또는 do), 당신이 if 조건의 탈옥 할 수없는 내부해야합니다. 이 내부 코드를 넣으면

:

while(true) { 
    ... 
} 

는 그런 다음 휴식 잘 작동합니다. 또한

if 문의 형식은 다음과 같습니다

if (condition) { 
    ... 
} else { 

} 

당신은 당신의 코드에서 if { (condition)을 갖고있는 것 같다 ...

아, 그리고 =는 변수에 값을 할당하고, == 평등 수표, 당신은 그들을 섞었다.

+1

그/그녀는'if' 문장의 전체 구문을 고쳐야합니다. –

+2

'return'은'while (true)'를 추가하는 것보다 더 적합 할 것입니다 ... – dantuch

+1

과'something = something2'은 조건이 아닙니다 :) – dantuch

-2

// 입력이 스캐너 개체라고 가정합니다.

System.out.print("Enter first student grade or q to quit: "); 
      if ((input1=input.nextline()).equalsIgnoreCase("q")) //do you want to use == or =? 
       break; 

       else{ 
        //do something 
    } 

이것은 당신을위한 속임수입니다. 건배.

+0

무엇을 깰까요? 어쨌든 - 컴파일되지 않을 것입니다.) – dantuch

+0

이것은 컴파일되지 않습니다. 'else' 앞에 괄호가 없습니다. – fireshadow52

+0

그 단편 일 뿐이므로 그 전에는 괄호가 필요하지 않습니다. if 아래에는 단 하나의 명령문 만 있기 때문에 if는 암시 적으로 완료됩니다. 어떤 조건을 검사하고 있는지 확실하지 않습니다. 유일한 것은 중괄호의 잘못 배치로 인해 이전 코드가 작동하지 않는다는 것입니다. – user2180705

0

우선 If 구문의 구문이 완전히 잘못되었습니다. 그것은 바로 잡아야합니다.

두 번째로, Break 문은 중간에 루프를 끊는 데 사용됩니다. 따라서 다음과 같이 사용해야합니다.

{ ................ 휴식; ................

}

또는 (.........) {

휴식

; ........ }

관련 문제