谁能帮我看一下这个代码吗,为什么不管我输入多大的数字,他永远显示电脑赢

import java.util.Scanner;
public class Dice {
static int player;

static int computer;

static String winner;
    public static void main(String[] args) {
Scanner input =new Scanner(System.in);
String player=input.next();//获取用户输入

computer = 1 + (int) ((Math.random() * 7));//电脑随机出数

diceRoll();

System.out.println("Computer rolled a " + computer);

System.out.println("And the winner is" + winner);

}

//根据数字判断输赢
public static void diceRoll() {
if(player > computer){
System.out.println("You won!");

winner = "Player";

}else{
System.out.println("You lost!");

winner = "Computer";

}

}

}

你的playe在判断方法里是没有值得 所以不可能大于电脑 你可以这样 player=input.nextInt() 将 static int player 的int 改为String 类型的 对比的时候转型就好了

你需要将输入的player转换正int类型 并且 赋值给全局的static int player

String player=input.next();//获取用户输入,你的原意应该是这样吧player=input.nextInt()

感谢各位的帮助,已经可以了