Ruby에는 조건부 초기화가 있습니다. 분명히 Java는 그렇지 않습니까? 가능한 한 작게 범위를 제한하기 위해 더 succintly 쓰려고합니다.자바 : 조건 초기화?
import java.io.*;
import java.util.*;
public class InitFor{
public static void main(String[] args){
for(int i=7,k=999;i+((String h="hello").size())<10;i++){}
System.out.println("It should be: hello = "+h);
}
}
오류
Press ENTER or type command to continue
InitFor.java:8: ')' expected
for(int i=7,k=999;i+((String h="hello").size())<10;i++){}
^
퍼즐
- 는 동안 루프에 선언 된 값에 값을 할당 할 수 있습니까? 예 코드 1
- for-loop 조건부에서의 지정? YES NO
- 초기화 CODE2
- 조건은 루프에서 서로 다른 유형의 값을 할당 할 수 있습니까? 대답에 예
- 루프 내부 초기화에 대한 규칙은 무엇입니까? 나중에 값에 액세스하도록 외부에 선언하십시오. init은 무엇입니까?
1. CODE
import java.io.*;
import java.util.*;
public class InitFor{
public static void main(String[] args){
int k=5;
while((k=(k%3)+1)!=1){
System.out.println(k);
}
//PRINTs only 3
}
}
2 CODE
import java.io.*;
import java.util.*;
public class InitFor{
public static void main(String[] args){
int k=5;
for(;(k=(k%3)+1)!=1;){
System.out.println(k);
}
//PRINTs only 3
System.out.println(k);
// WHY DOES IT PRINT 1? Assign in for-loop!
}
}
할당 및 초기화의 많은 다른 종류의 원본 문제의 일부 (?) - - 한 줄짜리 코드 100 줄
for(int t=0,size=(File[] fs=((File f=f.getParentFile()).listFiles(filt))).size();fs==null;t++){if(t>maxDepth){throw new Exception("No dir to read");}}
당신이 성취하려는거야? –
@MAS 오류가 존재하지 않는다고 가정하고 "It should be : hello = hello"를 출력해야합니다. –