2012-04-09 3 views
-1

Java 변수를 평가하는 방법은 무엇입니까? 내가 몇 문자열을 문자열 Q1, Q2, Q3, Q4, Q5가변수를 계산하는 방법

for(i=1;i1<=5;i++){ 
//evaluate the value of q1,q2,q3,q4,q5 
system.out.println(q+i); //should print q1,q2,q3,q4,q5 values concurrently 
} 

제발 도와주세요.

+0

이것은 작동하지 않으며 변수를 평가한다는 것은 무엇을 의미합니까? – vidit

+1

"동시에 값을 인쇄 하시겠습니까?" –

+0

이것이 숙제 인 경우 질문에 "숙제"태그를 추가 할 수 있습니까? –

답변

0

java reflection을 사용하여 클래스의 정의 된 필드를 검사 할 수 있습니다.

6

예를 Class.getField(String)에 대한

배열 사용

String[] q = {q1, q2, q3, q4, q5}; 
for (String s : q) 
    System.out.println(s); 
+0

저는이 대답을 두 번째지만 솔직히 사용자의 의도는 분명하지 않습니다. 문자열을 연결하고, 정수의 문자열 표현을 정수로 변환 한 다음, 정수로 추가하려고합니다. – Andy

+0

이것은 사용자가 원하는 것처럼 보입니다. – Kevin

0

가이 코드는 컴파일되지 않습니다, 당신은 난의 값으로 증가 변수 Q의 값이,이 인쇄하려고 무엇을. q는 없으며 i의 가치는 원하지 않습니다.

유진 Retunsky의 솔루션을 대신 사용하십시오.

0

eval에 해당하는 Java 기능을 찾으려고하는 것 같습니다. JavaScript입니다.
예인 경우 using eval in Java의 답이 도움이 될 수 있습니다.

0

나는 flash의 actionscript와 javascript에서 eval 함수를 참조하고 있다고 생각한다. 그와

당신이 FUNC1를 호출 할 것이다

for (i = 1; i <= 4; i++){ 
    eval("func" + i + "()"); 
} 

같은 일을 할 수있다(), FUNC2(), func3(), func4(). 마찬가지로 문자열 변수를 사용하여이 작업을 수행 할 수 있습니다.

Java에서는이 작업을 수행 할 수 없으며 for 루프를 사용하여 이러한 개별 변수를 인쇄해야한다고 생각되면 먼저 배열에 넣는 것이 가장 좋은 방법은 Eugene's answer입니다.

편집 : 나는 내 대답을 타이핑했고 Ravinder의 대답을 알지 못했습니다. 해당 참조 주셔서 감사합니다. 필자는 전에 ScriptEngine을 사용 해 본 적이 없으므로 체크 아웃해야 할 것입니다.

관련 문제