我在制作一个石头剪刀游戏时遇到了问题,由于某种原因,当我使用<generatePublisherEvidence enabled = "False" />
$aspnetConfig= "C:\Users\Desktop\Aspnet.config"
$doc = (Get-Content $aspnetConfig) -As [Xml]
$newXmlElement = $doc.CreateElement('generatePublisherEvidence')
$newXMlElement.SetAttribute('enabled','False')
$doc.configuration.runtime.InsertBefore($newXMlElement, $doc.configuration.runtime.legacyUnhandledExceptionPolicy)
$doc.Save($aspnetConfig)
这是完整的错误代码
input.nextInt()
答案 0 :(得分:1)
好的,所以Java不知道input
在这里的意思,因为你还没有宣布它是什么。据他所知,input
只是一堆乱七八糟的字母。您必须创建一个对象,可以从键盘上读取输入。你可以这样做:
input = new Scanner(System.in);
就代码而言,让我给你一些建议:
// Rock Paper Scissors Game
int Rock = -1;
int Paper = 0;
int Scissors = 1;
对于你的Rock,Paper和Scissors变量,让它们保持正面更有意义 - 而且在java中,惯例是将变量命名为&#34; camelCase&#34;,其中你的第一个单词以小写字母,后面的每个单词都以大写字母开头。然而,这些是 CONSTANTS ,这意味着它们永远不会永远改变,所以我们用大写字母写它们。所以我们将其更改为:
int ROCK = 1;
int PAPER = 2;
int SCISSORS = 3;
我不确定您在此处使用Max
和Min
做了什么,因为它们未在您的代码中的任何其他位置引用。如果是这样的话,他们就不会改变.. 永远 ...你可以使用整数,因为它可以硬编码进入你的剧本
// int Max = 1; GET RID OF IT
// int Min = -1; GET RID OF IT
让我们将您的计算机选择重命名为更多描述它的变量。毕竟computer
不是很具描述性。
此外,在一个范围内获取随机数的格式是正确的,但是不要使用max和min变量,因为数字永远不会改变。还有,花括号是什么?它们不是必需的,因为它不是块。
int computer_choice = ((int)(Math.random() * ((3 - 1) + 1))) + 1;
让我们稍微清理一下select语句 - 因为它看起来更好看。请记住,\n
是一个名为newline
的特殊字符,它会在每行之间放置回车符。
System.out.println("Input 1 for Rock. \n 2. for Paper. \n 3 for Scissors.");
现在我们有了你的问题的答案:扫描仪的声明。
input = new Scanner(System.in);
然后我们计算了玩家的行动。
int player_choice = input.nextInt();
不需要返回玩家,因为那不是我们想要的。
// return player; GET RID OF IT
最后,我们需要处理结果。再次,你对牙箍有点疯狂。如果if
语句只有一行,则无需使用大括号。此外,你不要在之后采用开放式支撑的任何东西之后加上分号,包括循环和条件,如if
语句
if(player_choice == computer)
System.out.println("Tie");
您还必须处理除了关系之外的情况,您可以使用else if
语句使用逻辑AND
(&&
)来组合条件
else if(player_choice == 1 && computer_choice == 2)
System.out.println("Computer wins!")
}
else if(player_choice == 2 && computer_choice == 1)
System.out.println("You win!")
}
else if(player_choice == 3 && computer_choice == 2)
System.out.println("You win!")
}
else if(player_choice == 2 && computer_choice == 3)
System.out.println("Computer wins!")
}
你完成了!但是我不确定你是否理解java文件的格式是如何工作的,所以我会为你推出完整的文件
public class RockPaperScissorsGame {
private int ROCK = 1;
private int PAPER = 2;
private int SCISSORS = 3;
public static void playGame(){
int computer_choice = ((int)(Math.random() * ((3 - 1) + 1))) + 1;
System.out.println("Input 1 for Rock. \n 2. for Paper. \n 3 for Scissors.");
input = new Scanner(System.in);
int player_choice = input.nextInt();
if(player_choice == computer)
System.out.println("Tie");
else if(player_choice == 1 && computer_choice == 2)
System.out.println("Computer wins!");
else if(player_choice == 2 && computer_choice == 1)
System.out.println("You win!");
else if(player_choice == 3 && computer_choice == 2)
System.out.println("You win!");
else if(player_choice == 2 && computer_choice == 3)
System.out.println("Computer wins!");
}
public static void main(String[] args){
playGame();
}
}