如何解决我需要编写一个If语句,如果输入的任何字符包含在字符串中,它将打印一条消息
说我需要输入一系列字母作为值:letter。
我有多个字符串,例如String.s1,其中包含以下字符:ABC
String.s2是DEF,依此类推,直到字母结尾。
我需要编写一个If语句,以便如果我从s1输入任何字符,它将返回数字1,而s2将返回数字2,依此类推。我需要能够一次输入所有需要的字符。
我当前的混乱代码是:
Access-Control-Allow-Origin
解决方法
您可以在下面创建一个包含yourArray
的字符串数组,例如s1,s2,s3
。然后,您可以在一个简单的循环中处理此问题
for(int i = 0; i< yourArray.size ; i++){
if(letters.contains(yourArray[i])){
numbers = i+1;
break;
}
}
,
您正以相反的方式进行操作,即您需要执行if (letters.contains(s1))
而不是if (s1.contains(letters))
。请注意,要执行此操作,letters
的类型必须为String
。
除此之外,您可以使用String
数组而不是声明很多String
变量。
演示:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String letter;
int number = 0;
String[] arr = { "ABC","DEF","GHI","JKL","MNO","PQR","STU","VWX","YZ" };
System.out.print("Enter the chosen letter: ");
letter = input.next().substring(0,1);// Get the first letter from the input
for (int i = 0; i < arr.length; i++) {
if (arr[i].contains(letter)) {
number = i + 1;
break;// Break to avoid unnecessary scanning the next strings in the array
}
}
// Display the result
if (number != 0) {
System.out.println(number);
} else {
System.out.println("The input is not an upper case English alphabet");
}
}
}
示例运行:
Enter the chosen letter: H
3
注意:如果您希望搜索不区分大小写,请将letter = input.next().substring(0,1)
替换为letter = input.next().substring(0,1).toUpperCase()
,以便在搜索输入之前将其转换为大写。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。