2015-01-23 3 views
0

나는 워드 클럭을 만들려고 노력하고 있지만 초기에 문제가 발생했습니다. 문제는 간단하지만 제대로 작동하지 않는 것 같습니다. 내가 뭘하는지 변수로 날짜를 읽고, 나는 다음 배열로 시간 문자열을 변경하려고, 다음 배열의 첫 번째 요소를 취하려고 노력하고 번호 2와 비교합니다. 그것이 2이면 2를 출력하고 그렇지 않으면 2를 출력하지 않습니다.자바 워드 클록

배열에 문자열이 있지만 루프가 작동하지 않는 것 같습니다. 아무도 이것으로 나를 도울 수 있습니까?

import java.io.*; 
import java.util.Date; 
import java.text.DateFormat; 
import java.text.SimpleDateFormat; 
import java.util.Calendar; 

public class Time3{ 
    public static void main (String args[]){ 

     Date time = new Date(); 

     SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); 

     String time_to_string = df.format(time); 

     char[] timeArray = time_to_string.toCharArray(); 

     //System.out.println("The time is " + time_to_string); 

     //System.out.print("String element 0 is: "); 
     //System.out.println(timeArray[0]); 

     if (timeArray[0] == 2){ 
      System.out.println("Two"); 
     } 
     else{ 
      System.out.println("It is not two"); 
     } 

    } 
} 
+0

_i 문자열이

if (timeArray[0] == '2'){ System.out.println("Two"); } else{ System.out.println("It is not two"); } 

편집 당신은 또한 같은 단어로 숫자를 들고 배열이 배열에 있지만 루프가 작동하지 않는 것 같습니다. _ 어떤 루프입니까? – gla3dr

+0

디버거를 사용해 보셨습니까? – Jens

답변

7

봅니다이 당신의 코드를 변경합니다 : - :

String[] numbersAsWords = new String[]{"Zero","One","Two","Three","Four"....}; 
numbersAsWords[timeArray[0]] -->> will return what you need 
+2

설명을하기 위해서 : Hayes121은'char'의 배열을 가지고 있었고,'char' 중 하나를'int'와 비교하려고했습니다. 그는 대신에'char'''''2''를 사용하여 일치하는 타입을 가져야했습니다. – gla3dr

+0

대단히 감사합니다. 문자 배열이기 때문에 ''를 추가 했습니까? – Hayes121

+0

예, 처리해야합니다. – roeygol