Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 If语句需要接受多种形式的用户输入字符串数据类型_Java_Variables_If Statement - Fatal编程技术网

Java If语句需要接受多种形式的用户输入字符串数据类型

Java If语句需要接受多种形式的用户输入字符串数据类型,java,variables,if-statement,Java,Variables,If Statement,我对Java非常陌生。目前,我正在尝试创建一个石头剪刀游戏,实际上我已经完成了。我的问题在于试图在节目开始时询问玩家是否想玩。如果是,他们可以输入“是”或“是”或“y”/“y”,如果不是,则输入“否”/“否”/“n”/“n”等 目前,我将用户给出的答案存储在字符串数据类型变量中。在下面的“如果”陈述中,我试图检查答案是否是肯定的。如果是这样,游戏将初始化。如果“否”,则程序退出。然而,布尔运算符“Or”目前对我来说不太合适。下面是如何设置我的代码: import java.util.Scanne

我对Java非常陌生。目前,我正在尝试创建一个石头剪刀游戏,实际上我已经完成了。我的问题在于试图在节目开始时询问玩家是否想玩。如果是,他们可以输入“是”或“是”或“y”/“y”,如果不是,则输入“否”/“否”/“n”/“n”等

目前,我将用户给出的答案存储在字符串数据类型变量中。在下面的“如果”陈述中,我试图检查答案是否是肯定的。如果是这样,游戏将初始化。如果“否”,则程序退出。然而,布尔运算符“Or”目前对我来说不太合适。下面是如何设置我的代码:

import java.util.Scanner;
import java.util.Random;

public class Game
{

public static void main(String args[])
{

    // Create Scanner Object
    Scanner get = new Scanner(System.in);
    Scanner input = new Scanner(System.in);

    // Create variables
    String name, go;
    int gonum=0;

    System.out.printf("WELCOME TO ROCK PAPER SCISSORS. WE TAKE THIS GAME SERIOUSLY.\n\n");

    System.out.printf("USER, WHAT IS YOUR NAME?\n");
    name = get.nextLine();

    System.out.printf("\nWELCOME, %S, TO ROCK PAPER SCISSORS.", name);

    System.out.printf("\n\nDO YOU WISH TO PLAY?\n");
    go = input.nextLine();

    if(go == "YES" || go == "yes" || go == "Yes" || go == "y")
    {
        System.out.printf("LET'S PLAY SOME ROCK PAPER SCISSORS!");
    }


}

}您需要学习如何在java中比较这两个字符串

使用
equals()
=

if(go==“YES”)
更改为
if(go.equals(“YES”)


=
相等运算符用于比较两个对象

您可以使用以下任何方法检查字符串是否等于“是”或“否”

e.g go.equal("no") || go.equal("yes") 

equals(Object anObject) 
   Compares this string to the specified object.
equalsIgnoreCase(String anotherString) 
    Compares this String to another String, ignoring case considerations.
另一种方法是使用Contain boolean方法

contains(CharSequence s) 
Returns true if and only if this string contains the specified sequence of char values.
e、 g go.contains(“y”)| go.contains(“n”)


equals==运算符和“equals”方法之间的区别在于==运算符是两种基本数据类型之间使用的布尔运算符。例如,您可能正在对两个整数或双精度整数进行布尔测试。“equals”方法是String类的一个方法,用于测试两个字符串是否相似。您可以使用字符串“equals”方法,bucket.equals(mop)。bucket和mop变量都包含字符串。

我从未听说过这一点,但它完全适合我的使用。非常感谢你。如果你不介意详细说明的话,那么使用“If(go==“YES”)”和“If(go.equals(“YES”)”)之间到底有什么区别呢?谢谢你,我现在明白了。快乐编码没关系。虽然我非常感谢你的帮助,但当我告诉你我不确定你在说什么时,我不会撒谎。很抱歉。你可以使用方法“contains”或“equals to”,所以如果(go.equals(“no”){},或者你可以使用contains,我更喜欢你的游戏,因为它将同时应用于输入“yes”或“y”。最后一部分,处理contains()部分,是金色的。谢谢。我真的很高兴你觉得有用,我会附上一个链接来参考更有用的方法,谢谢!我一定会查看那个链接。