Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何制作一个程序来查看输入的单词是否等于a?_Java_Netbeans - Fatal编程技术网

Java 如何制作一个程序来查看输入的单词是否等于a?

Java 如何制作一个程序来查看输入的单词是否等于a?,java,netbeans,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(

我正在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 ");

        }


    }

}

但是它可能不起作用,有什么想法吗?

你能用那个
用户词试试吗。startsWith(“A”)

你能用那个
用户词试试吗。startsWith(“A”)
你在比较一个
字符串和一个
字符吗{
。这就像检查一个苹果是否等于一个梨;它总是假的

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

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

有关更多信息,请参见。

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

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

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

有关更多信息,请参阅。

您不能直接比较字符和字符串。除了其他人提供的解决方案外,您还可以使用
String.valueOf(…)
函数,然后您就可以比较字符串和字符了

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 ");

}


}

}

您不能直接比较字符和字符串。除了其他人给出的解决方案外,您还可以使用
String.valueOf(…)
函数,然后您就可以比较字符串和字符了

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 ");

}


}

}
根据:

public boolean equals(Object-anObject)

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

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

使用
userWord.startsWith(“A”)
代替,或
userWord.charAt(0)='A'

根据以下内容:

public boolean equals(Object-anObject)

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

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


改为使用
userWord.startsWith(“A”)
,或者
userWord.charAt(0)='A'

我想你可以试试方法
yourstring.indexOf('A')
,它返回一个
int
,如果它是0,那么你在第一个位置找到了“A”,否则就没有了。 语法


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


为什么要比较
字符串
字符
?为什么要比较
字符串
字符
?如果输入字符串不以a开头,此函数将返回false。我已对其进行了测试。如果输入字符串不以a开头,此函数将返回false。我已对其进行了测试。