Java 如果字符串包含扫描仪输入的信息,则打印子字符串。(爪哇)
以下是我所拥有的:Java 如果字符串包含扫描仪输入的信息,则打印子字符串。(爪哇),java,Java,以下是我所拥有的: Scanner input = new Scanner(System.in); System.out.print("Enter an uppercase letter: "); String Letter = input.next(); String LettersTwo = "A" + "B" + "C"; String DigitTwo = LettersTwo.substring(0) + "2"; String Letter
Scanner input = new Scanner(System.in);
System.out.print("Enter an uppercase letter: ");
String Letter = input.next();
String LettersTwo = "A" + "B" + "C";
String DigitTwo = LettersTwo.substring(0) + "2";
String LettersThree = "D" + "E" + "F";
String DigitThree = LettersThree.substring(0) + "3";
String LettersFour = "G" + "H" + "I";
String DigitFour = LettersFour.substring(0) + "4";
String LettersFive = "J" + "K" + "L";
String DigitFive = LettersFive.substring(0) + "5";
String LettersSix = "M" + "N" + "O";
String DigitSix = LettersSix.substring(0) + "6";
String LettersSeven = "P" + "Q" + "R" + "S";
String DigitSeven = LettersSeven.substring(0) + "7";
String LettersEight = "T" + "U" + "V";
String DigitEight = LettersEight.substring(0) + "8";
String LettersNine = "W" + "X" + "Y" + "Z";
String DigitNine = LettersNine.substring(0) + "9";
if (Letter.contains(LettersTwo)) {
System.out.println("The corresponding digit is " + DigitTwo);
}
如果用户输入A、B或C的大写字母,我希望系统打印出“相应的数字是2”。我将数字与子字符串中的大写字母相关联。系统没有打印出来,我所拥有的是,如果字母包含来自字母two的内容,那么就打印出来。我是编程新手,所以我不知道我写的是否正确。有人能帮我工作吗?最明显的方法是使用
if
语句或switch
语句。另一种方法是使用String
数组,这似乎是您正在尝试的。(请注意,当您开始在变量名的末尾添加数字时,这强烈表明您应该使用数组。)如果您想更喜欢,可以将其转换为带有映射的查找表
您还应该查看String.contains()
的文档。它的工作方式与您试图使用它的方式不同。请再次查看您的if
语句:
if (Letter.contains(LettersTwo))
在这里,您要检查单个字母是否包含一串字母。从逻辑上讲,这将返回false
。但如果你这样使用它:
if (LettersTwo.contains(Letter))
您正在检查一组字母是否包含单个字母。字符串字母two=“a”+“B”+“C”
比String LettersTwo=“ABC”要多得多
并生成相同的结果。谢谢。我没有意识到我就是这样得到的。我猜当你是新来的时候会发生这样的事。没问题。每个人都从某个地方开始:)