运行时错误 - 程序终止

时间:2010-11-23 04:10:58

标签: java

我的程序由于某种原因终止。它是一个摇滚剪刀模拟。 当我在第一个nextLine中输入内容时终止。 如果有人可以请求帮助。

import java.util.*; import java.math.*; public class RockPapperScissors { /** * @param args */ public static void main(String[] args) { Scanner in=new Scanner(System.in); String comp, user; comp=getComp(); System.out.println("Enter rock, paper, or scissors"); user=in.nextLine(); winner(comp, user); } public static String getComp(){ Random rand=new Random(); String answer; int ran=rand.nextInt(3); if(ran==1) answer="rock"; else if(ran==2) answer="paper"; else answer="scissors"; return answer;} public static void winner(String com, String use){ if(com=="rock" && use=="rock") System.out.println("Its a tie"); else if(com=="rock" && use=="paper") System.out.println("You win!"); else if(com=="rock" && use=="scissors") System.out.println("Computer wins, you FAIL"); else if(com=="paper" && use=="rock") System.out.println("Computer wins, you FAIL"); else if(com=="paper" && use=="paper") System.out.println("Its a tie"); else if(com=="paper" && use=="Scissors") System.out.println("You win!"); else if(com=="scissors" && use=="rock") System.out.println("You win"); else if(com=="scissors" && use=="paper") System.out.println("Computer wins, you FAIL"); else if(com=="scissors" && use=="scissors") System.out.println("Its a tie");} }

2 个答案:

答案 0 :(得分:5)

对于字符串比较,请使用.equals()而不是==

答案 1 :(得分:2)

因为字符串被分配给公共池,所以“==”比较将不会按照您的意图运行。使用String的equals()方法进行比较。