2016-12-14 2 views
0

Я написал простую тестовую программу для более крупной программы, где мне нужно проверить строку на диапазон букв от сквозного до g.Java - проверка строк между диапазоном букв

Следующая тестовая программа должна запросить письмо, а затем, если в пределах диапазона a-g напечатайте сообщение о приеме, еще скажите «oops» и попросите снова.

+4

Вы уверены, что код скомпилировать? [if (input == maxValue || minValue)] – pringi

+0

Примечание для будущих вопросов: «Код имеет ошибку, в то время как проверка диапазона (a-g)« слишком неспецифична ». Если вы получите сообщение об ошибке, разместите столько информации, сколько у вас есть (какая ошибка, где, что происходит, но чего вы ожидаете и т. Д.). – Thomas

+0

Итак, вам нужно «где мне нужно проверить строку» или символ. Является ли входной ага или просто? – SparkleGoat

ответ

0

Вы можете получить char от String, используя charAt(index).

Вы можете проверить, поддерживает ли char данный диапазон, используя простое сравнение, например c >= 'a' && c <= 'g'.

0

Во-первых, я не думаю, что вы должны назвать свою переменную «a».

Aniways, я бы проверить мой вклад, как это:

a.compareTo(maxValue) >= 0 && a.compareTo(minValue) <= 0 && a.length == 1 
1

Попробуйте этот код:

public static void main(String... params) { 
    Scanner s = new Scanner(System.in); 
    Character minValue = 'a'; 
    Character maxValue = 'g'; 
    while (true) { 
     System.out.print("enter a char between a-g: "); 
     Character input = s.nextLine().charAt(0); 
     if (input >= minValue && input <= maxValue) { 
      System.out.println("Ok"); 
     } else { 
      System.out.println("oops"); 
      System.exit(0); 
     } 
    } 
} 
0

Пожалуйста, попробуйте на код ниже:

импорта java.util.Scanner;

импорт java.util.Scanner;

класс StringValidation общественности { государственной статической силы основных (String [] арг) {

Scanner input = new Scanner(System.in); 

    String a = null; 
    char minValue = 'a'; 
    char maxValue = 'g'; 
    boolean loop = true; 
    int i = 0; 

    while (loop) { 
     System.out.print("enter a char between a-g: "); 
     a = input.nextLine(); 
     if ((int) minValue <= (int) a.charAt(i)) { 
      if ((int) maxValue <= (int) a.charAt(i)) { 
       System.out.println("Oops! "); 
       System.out.print("enter a char between a-g: "); 
       i++; 
       input.nextLine(); 
      } else { 
       System.out.println("Accepted"); 
       break; 
      } 
     } 
    } 
    input.close(); 
} 

}

Смежные вопросы