gpt4 book ai didi

java(eclipse)石头剪刀布代码,选择一个简单的输入,并生成石头剪刀布的输出

转载 作者:行者123 更新时间:2023-12-02 11:24:22 25 4
gpt4 key购买 nike

我需要创建一个程序,要求用户输入字符串值,如果输入是“r”“p”或“s”,则返回字符串值“rock”“paper”或“scissors”如果用户输入不同的内容。

 package loopsGamesProject;

import java.util.Scanner;
public class LoopsGamesProject_RockPaperScissors {

public static void main(String[] args) {
String in="-";
Scanner input= new Scanner(System.in);
System.out.print("Enter 'r' for rock, and 'p' for paper,'s' for scissors:");
in=input.next();
if(in=="r"||in=="p"||in=="s"){
if(in=="r"){
in="Rock";
}
if(in=="p"){
in="Paper";
}
if(in=="s"){
in="Scissors";
}
while(in!="r"||in!="p"||in!="s") {
System.out.print("Enter 'r' for rock, and 'p' for paper,'s' for scissors:");
in=input.next();
if(in=="r"||in=="p"||in=="s"){
if(in=="r"){
in="Rock";
}
if(in=="p"){
in="Paper";
}
if(in=="s"){
in="Scissors";
}
}
}
input.close();
System.out.print(in);



}

}

}

问题是,它会要求一个变量,但会终止本身。我尝试添加一个“out”变量。当我尝试使用 do while 循环执行此操作时,它不断要求输入但从未返回任何内容。我找不到问题。

最佳答案

在java中比较字符串时,需要使用.equals()方法而不是==函数。此规则适用于 java 中的所有对象,包括 String。例如:

if (in.equals("r"))
//Rock!

您还需要替换 != 并添加一个break语句来退出循环。像这样的事情会做:

while (!(in.equals("r") || in.equals("p") || in.equals("s"))) {
System.out.print("Enter 'r' for rock, and 'p' for paper,'s' for scissors:");
in = input.next();
if (in.equals("r") || in.equals("p") || in.equals("s")) {
if (in.equals("r"))
in = "Rock";
else if (in.equals("p"))
in = "Paper";
else
in = "Scissors";
break;
}
}

编辑:上面提示两次。这将修复它:

public static void main(String[] args) {
String in = "";
Scanner input = new Scanner(System.in);
while (!(in.equals("Rock") || in.equals("Paper") || in.equals("Scissors"))) {
System.out.print("Enter 'r' for rock, and 'p' for paper,'s' for scissors:");
in = input.next();
if (in.equals("r") || in.equals("p") || in.equals("s")) {
if (in.equals("r")) {
in = "Rock";
}
if (in.equals("p")) {
in = "Paper";
}
if (in.equals("s")) {
in = "Scissors";
}
break;
}
}
input.close();
System.out.print(in);
}

关于java(eclipse)石头剪刀布代码,选择一个简单的输入,并生成石头剪刀布的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49713099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com