J'ai une question et aucune réponse oui ou non. Je voudrais poser une autre question oui ou aucune question si oui était la réponse. Mon instructeur veut que nous utilisions Charat (0) en tant qu'entrée pour la réponse.
est-il possible d'avoir une instruction de commutation dans une autre (comme une instruction IF imbriquée)? P>
EDIT: Voici un échantillon de mon pseudo code = p>
4 Réponses :
Oui, mais pas. Si vous avez besoin d'un autre niveau de logique comme ça, placez le deuxième commutateur dans sa propre méthode avec un nom descriptif. P>
Edit: par exemple que vous avez ajouté, vous avez deux conditions booléennes. Je recommanderais contre l'utilisation du commutateur du tout, en utilisant si code> & sinon code> conditionnels à la place. Utilisez (string.charat (0) == 'y') code> comme cas de test, ou quelque chose de méthodique comme boolean isy (chaîne de chaîne finale) {retour (String.Charat (0) = = 'y' || string.charat (0) == 'y'); } code> p>
C'est possible, mais ce serait très convolué et difficile à lire. Il y a presque certainement une meilleure façon, comme appelant une méthode dans la première instruction de commutation et effectuant un traitement plus nécessaire (y compris un autre commutateur si nécessaire) dans cette méthode. P>
La plupart des langages de programmation sont orthogonaux. Cela signifie que l'utilisation d'une fonctionnalité ne dépend généralement pas de l'emplacement, si significatif. P>
Par exemple, vous ne pouvez pas déclarer une variable locale en public. P>
@SRini: Je ne vois pas comment cela répond à la question. Spécifiquement, il ne dis que si commutateur code> en Java est orthogonal. L'orthogonalité est la propriété que la programmation des concepteurs de langage s'efforce, mais rarement entièrement réalisez. Vous ne pouvez pas déduire que toute construction de langue particulière sera orthogonale sans comprendre la spécification de la langue. Ce peut être l'une des exceptions.
Oui. Les commutateurs rompent le modèle de relevé de bloc de langue, mais ceci est principalement dû à C / C ++ à partir de laquelle l'instruction de commutation utilisée par Java est basée sur Java.
Dans les trois langues, l'instruction de commutation prend le formulaire suivant: P>
String message = null;
int outerVariable = getOuterVariable();
switch(outerVariable) {
case n:
statement 1;
statement n;
break;
case n+1:
int innerVariable = getInnerVariable();
switch(innerVariable) {
case 1:
message = "IT WAS 1";
break;
default:
message = "WHY WOULD YOU DO THIS? OH THE HUMANITY!";
}
break;
// Optionally more statements
(optional) default:
statement 1;
statement n;
}
juste faire attention au code ci-dessus - si vous le traduisez en Java, notez que les déclarations de cas doivent être des expressions constantes
Chii - Bon point. De plus, les Enums Java 5 sont également autorisés dans les déclarations de commutation.
Dans le temps qu'il vous a fallu pour écrire cette question, vous auriez pu l'avoir testé vous-même ... en disant ...
Je pense que le point de sorte que les gens * n n'ont pas besoin d'écrire du code pour tester une idée.
@ande_Turner: non. Alors, est là pour répondre aux questions, pas pour faire des choses plutôt que des personnes.
@Valentinrocher no.