如何制作程序,查看输入的单词是否等于A?

时间:2015-11-20 13:43:14

标签: java netbeans

我在netbeans上学习Java,所以我找了一些练习。 我试图完成这个练习:写一个java程序,提示用户输入一个单词并检查这个单词是否以字母' A'开头。

所以我写了这段代码:

package testone;

import java.util.Scanner;

public class TestOne {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        String strA = "A";
        Scanner s = new Scanner(System.in);
        System.out.println("Please enter a word : ");
        String userWord = s.next();
        char firstLetter = userWord.charAt(0);

        if (strA.equals(firstLetter)) {

            System.out.println("Your word starts with letter A ");

        }else {

            System.out.println("Your word doesn't start with letter A ");

        }


    }

}

但它可能不起作用,任何想法?

5 个答案:

答案 0 :(得分:4)

您正在将Stringchar进行比较:if (strA.equals(firstLetter)) {。这就像检查苹果是否等于梨一样;它永远是假的。

相反,只需检查输入是否以A:

开头
if (userWord.startsWith("A")) {

有关详细信息,请参阅Java - String - startsWith

答案 1 :(得分:1)

根据the doc

  

public boolean equals(Object anObject)

     

将此字符串与指定对象进行比较。如果,结果是真的   并且仅当参数不为null并且是String对象时   表示与此对象相同的字符序列。

您使用char类型的参数调用此方法,该参数将被装箱到Character实例中,该实例不会扩展String。结果将始终为false

改为使用userWord.startsWith("A")userWord.charAt(0) == 'A' ...

答案 2 :(得分:0)

您可以尝试使用userWord.startsWith("A")

答案 3 :(得分:0)

你无法直接比较char和String。除了其他人给出的解决方案之外,您可以使用String.valueOf(...)函数,然后您就可以比较String和char。

package testone;

import java.util.Scanner;

public class TestOne {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here
    String strA = "A";
    Scanner s = new Scanner(System.in);
    System.out.println("Please enter a word : ");
    String userWord = s.next();
    char firstLetter = userWord.charAt(0);
if (strA.equals(String.valueOf(firstLetter))) {  //Try this

    System.out.println("Your word starts with letter A ");

}else {

    System.out.println("Your word doesn't start with letter A ");

}


}

}

答案 4 :(得分:0)

我认为您可以尝试yourstring.indexOf('A')方法,它会返回int,如果是0,那么您找到" A"在第一个位置,否则没有。 语法

if(yourstring.indexOf('A') == 0 ){
    //do something .....
}