Java 使用 contains 或 equals 方法检查字符串是否包含特定范围内的特定字母
Java checking if string contains certain letters with a certain range with contains or equals method
import.java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in)
String operation = sc.nextLine();
}
}
当我想看的时候,如果字符串操作包含某些字母,我可以写f.ex。
if(operation.contains("a") || operation.contains("b")){
System.out.println("This is not a valid choice. Please retry!");
}
但我想知道要写什么,如果字符串包含字母,例如从a到k。如果我用 || 写它每一次,它都没有效率。
编辑:我只被允许使用包含和等于的方法。
尝试使用正则表达式:
if (operation.matches(".*[a-k].*") {
...
}
备选方案:
boolean contains = false;
for (char charToCheck = 'a'; charToCheck <= 'k'; charToCheck++) {
if (operation.indexOf(charToCheck) >= 0) {
// found something
contains = true;
break;
}
}
稍后更新
哦,indexOf()
也不行。使用嵌套循环的版本:
boolean found = false;
for (char ch : operation.toCharArray()) {
for (ch charToCheck = 'a'; charToCheck <= 'k'; charToCheck++) {
if (ch == charToCheck) {
found = true;
break;
}
}
if (found) {
break;
}
}
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;
}
}
import.java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in)
String operation = sc.nextLine();
}
}
当我想看的时候,如果字符串操作包含某些字母,我可以写f.ex。
if(operation.contains("a") || operation.contains("b")){
System.out.println("This is not a valid choice. Please retry!");
}
但我想知道要写什么,如果字符串包含字母,例如从a到k。如果我用 || 写它每一次,它都没有效率。 编辑:我只被允许使用包含和等于的方法。
尝试使用正则表达式:
if (operation.matches(".*[a-k].*") {
...
}
备选方案:
boolean contains = false;
for (char charToCheck = 'a'; charToCheck <= 'k'; charToCheck++) {
if (operation.indexOf(charToCheck) >= 0) {
// found something
contains = true;
break;
}
}
稍后更新
哦,indexOf()
也不行。使用嵌套循环的版本:
boolean found = false;
for (char ch : operation.toCharArray()) {
for (ch charToCheck = 'a'; charToCheck <= 'k'; charToCheck++) {
if (ch == charToCheck) {
found = true;
break;
}
}
if (found) {
break;
}
}
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;
}
}