所以,对于一个任务,我必须这样做的一部分,但如果部分是红色的,我不明白为什么所以,我认为这是基本的,但我需要知道
if (int >=1 && int<=7){
Scanner sc = new Scanner(System.in);
String direction;
System.out.println("Enter your choice: ");
direction=sc.nextD();
if (direction = 'left'){
maze.push('left');
System.out.println("Pushed left to stack");
我意识到我忘了它的一部分。 更新的代码:
Stack maze = new Stack();
for(int x=1; x<=10; x++)
{
Random ran = new Random();
int a = ran.nextInt(10) + 1;
if (int a>=1 && int a<=7){
Scanner sc = new Scanner(System.in);
String direction;
System.out.println("Enter your choice: ");
direction=sc.nextLine();
if (direction.equals ("left") || direction.equals ("Left")){
maze.push("left");
的if(INT A> = 1 & & INT一个< = 7)部分不工作。一切是好的
这是编译器告诉你的东西是你的代码错误。我不是编译器,但是离开我的头顶部''left''不是'String',在Java中,字符串用双引号表示:'“left”'。 – azurefrog
另外,'if(direction =“left”)'是赋值,而不是比较。另外,'if(direction ==“left”)'比较引用相等,并且也会失败。请参阅[如何比较Java中的字符串?](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – azurefrog
替换'if(int a> = 1 && int a <= 7){'with'if(a> = 1 && a <= 7){''int a'将尝试声明一个名为a的新整数。 – alexgbelov