2013-01-31 6 views
-5

안녕하세요, 저는이 자바 프로그램을 사용하여 코멘트를 추가하기 전에 작업을 했었습니다.하지만 이제는 else와 if와 else 명령문에 오류가 있습니다. if 명령문이 없으면 if 문은 if 문을 읽는 방법을 방해합니다. 어떤 도움이라도 대단히 감사합니다. 의Java - else if 및 if else if?

/** 
    * A class that takes 2 different times in military time as input and 
    * outputs the difference in hours and minutes. 
    * 
    * @author Name 
    */ 
import java.util.Scanner; 
public class Assignment1Q3 
{ 
    public static void main(String[] args) 
    { 
    Scanner in = new Scanner(System.in); 
    System.out.print("Please enter the first time: "); 
    int fTime = in.nextInt(); 
    System.out.print("Please enter the second time: "); 
    int lTime = in.nextInt(); 
    int tDifference = Math.abs(fTime - lTime);//Calculates the absolute difference. 
    String strTDiff = String.valueOf(tDifference);//Converts the value to a String. 
    int length = strTDiff.length();//Obtains the length of the value. 
    String hours = "";//Declares the values to be initialized in the if statement. 
    String minutes = ""; 
    if (length == 4) 
    { 
     hours = strTDiff.substring(0, 2);/**If the number of digits is 4, the first 
     minutes = strTDiff.substring(2, 4);*two are the hour. 
    }          */ 
    else if (length == 3) 
    { 
     hours = strTDiff.substring(0, 1);/**If the number of digits is 3, the first 
     minutes = strTDiff.substring(1, 3);*one is the hour. 
    }          */ 
    else 
    { 
     hours = ("0");     /**If the number of digits is not 4 or 3, 
     minutes = strTDiff.substring(0, 1);*the value is less than 1 hour. 
    }          */ 
    System.out.println(hours + " hours " + minutes + " minutes"); 
    } 
} 
+3

예, 강조 표시된 부분을 볼 수 있습니다. –

+0

그리고 '분'계산으로 원하는 것을하지 않을 것입니다.블록 주석은 블록이며,'/ *'와'* /'사이의 모든 것은 컴파일러에게 보이지 않습니다. –

+0

오 와우 어떻게 그리웠는지 지금 고마워. – Reddy

답변

9

} 때문에 방금 전에 else/**/ 사이에 주석이 마지막.

적절한 코드 편집기의 색상은 질문과 마찬가지로 분명해야합니다.

3

당신이 경우, 다른 사람과 elseif.Remove에 대한 닫는 중괄호를 댓글을 달았 그것을

1

당신은 명확하게 당신이 실제로 이들 중 일부를 주석 한 웹 사이트 (구문 강조)에 직접 여기에서 볼 수 있듯이 : }. 세 번이나 내가 틀리지 않으면. 그것이 오류의 원인입니다. 또한 세 줄의 코드 (의도적 일 수도 있지만 주석을 달았습니다)를 주석 처리했습니다. 나는 당신이 IDE를 사용할 것을 제안한다. 나 자신은 Eclipse for Java를 사용한다.

당신은 이중 슬래시, //를 사용하여 하나의 줄을 주석 수, 자바

1

당신은 당신의 경우, 다른 모든에서 주석 닫기 괄호가 (이중 슬래시의 오른쪽에있는 모든 것이 주석됩니다) if 및 else 문

if (length == 4) 
{ 
    hours = strTDiff.substring(0, 2);/**If the number of digits is 4, the first 
    minutes = strTDiff.substring(2, 4);*two are the hour. 
}          */ 

정확하게 블록 주석의 작동 방식을 모르는 것 같습니다. 이 주석은 각 행의 * 문자 뒤에 오는 텍스트에만 적용된다고 가정합니다. 실제로 새 줄과 캐리지 리턴을 포함한 모든 문자는 */에 도달 할 때까지 주석 처리됩니다. 은 각 항목에 대해 다음과 같이 보이도록 당신은 아마 당신의 코드를 변경하려면 :

if (length == 4) 
{ 
    /* If the number of digits is 4, the first 
    * two are the hour. 
    */ 
    hours = strTDiff.substring(0, 2); 
    minutes = strTDiff.substring(2, 4); 
}   

주석의 두 번째 줄에 별이 필요하지 않습니다 점에 유의하는 것이 도움이 될 수 있습니다. 예 :

/* If the number of digits is 4, the first 
    two are the hour. 
*/ 

이것은 여전히 ​​유효한 블록 주석입니다. (읽을 수는 없지만)

1

예. */ (의견 닫기)은 } (if 블록 닫기)와 같은 줄에 있으므로 댓글의 일부분이됩니다. 또한 당신이 실행하기를 원하는 코드를 주석 처리합니다.

블록 주석 표식 /**/은 줄 바꿈을 포함하여 주석 사이에 모든 내용을 주석으로 만듭니다. 코드의 시작 부분에있는 주석의 각 새 행의 별표는 스타일과 정렬을위한 것이며 실제로 중요한 의미가 없습니다.

0

대부분의 프로그래밍이 해당 주석에 포함되어있는 방식으로 주석을 삽입했습니다. 그냥 의견을 제거한 다음 프로그램을 컴파일하십시오. BlueJ 또는 Net Beans을 사용해야하며 프로그래밍 패턴에 문제가있는 다른 색 구성표가 표시됩니다.