Ruby a une initialisation conditionnelle. Apparemment, Java ne le fait pas ou le fait? J'essaye d'écrire plus succintement, pour limiter la portée la plus petite possible.Java: initialisation conditionnelle?
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);
}
}
erreurs
Press ENTER or type command to continue
InitFor.java:8: ')' expected
for(int i=7,k=999;i+((String h="hello").size())<10;i++){}
^
Puzzles
- Est-il possible d'attribuer une valeur à une valeur déclarée en boucle while? OUI code1
- Affectation dans la boucle for-conditionnelle? OUI code2
- conditionnelle initialisation NO
- Pouvez-vous attribuer différents types de valeurs dans les boucles? OUI dans une réponse
- Une règle d'initialisation à l'intérieur des boucles? Déclarez à l'extérieur pour accéder aux valeurs plus tard, qu'en est-il de 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!
}
}
Une partie du problème original avec beaucoup de différents types de missions et initialisations (?) - - 100 lignes de code dans une ligne
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");}}
Qu'est-ce que vous essayez d'accomplir? –
@MAS Il devrait imprimer "Il devrait être: bonjour = bonjour", en supposant que l'erreur n'existait pas. –