2017-09-03 3 views
-3
import.java.util.Scanner; 

public class Test{ 
    public static void main(String[] args){ 
    Scanner sc = new Scanner(System.in) 
    String operation = sc.nextLine(); 
    } 
} 

Lorsque je veux voir, si l'opération de chaîne contient certaines lettres, je pourrais écrire f.ex.Java vérifiant si chaîne contient certaines lettres avec une certaine plage avec la méthode contient ou égale

if(operation.contains("a") || operation.contains("b")){ 
     System.out.println("This is not a valid choice. Please retry!"); 
    } 

Mais je veux savoir quoi écrire, si la chaîne contient des lettres, par ex. de a à k. Si je l'écris avec || à chaque fois, ce n'est pas efficace. EDIT: Je ne suis autorisé à utiliser les méthodes contient et est égal.

+2

Est-ce un devoir? Sinon, expliquez d'où vient "autorisé à utiliser". – lexicore

Répondre

2

Essayez d'utiliser une expression régulière:

if (operation.matches(".*[a-k].*") { 
    ... 
} 

Une alternative:

boolean contains = false; 
for (char charToCheck = 'a'; charToCheck <= 'k'; charToCheck++) { 
    if (operation.indexOf(charToCheck) >= 0) { 
     // found something 
     contains = true; 
     break; 
    } 
} 

Une mise à jour plus tard

Oh, indexOf() n'est pas autorisé aussi. Une version qui utilise des boucles imbriquées:

boolean found = false; 
for (char ch : operation.toCharArray()) { 
    for (ch charToCheck = 'a'; charToCheck <= 'k'; charToCheck++) { 
     if (ch == charToCheck) { 
      found = true; 
      break; 
     } 
    } 
    if (found) { 
     break; 
    } 
} 
+0

Y at-il une autre option, car je ne suis pas autorisé à utiliser la méthode des correspondances? –

+0

@Java Alors, qu'est-ce qui est autorisé? – Lothar

+0

J'ai modifié le post. Je peux seulement utiliser égal ou contient. –

-1
char[] chars = operation.toCharArray(); 
for (int i = 0; i < chars.length; i++) { 
    char val = chars[i]; 
    switch(val) { 
     case a: 
     case b: 
     case c: 
     case d: 
     case e: 
     case f: 
     case g: 
     case h: 
     case i: 
     case j: 
     case k: 
      System.out.println("This is not a valid choice. Please retry!"); 
      break; 
    } 
}