所以,我认为这是基本的,但我需要知道

时间:2017-02-24 19:11:57

标签: java stack

所以,对于作业,我必须做这个部分,但if部分是红色的,我不明白为什么

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&gt; = 1&amp;&amp; int a&lt; = 7)部分不起作用。其他一切都很好

3 个答案:

答案 0 :(得分:1)

所以,我看到一些问题:

  1. int不是变量;它是原始类型的名称。您不能在java中将任何变量命名为int,并且您当然无法对其进行比较。

  2. 扫描仪没有名为nextD()的类。您可能正在寻找nextLine

  3. 在Java中,字符串用双引号"括起来,而不是单引号'。另外,要比较字符串,您需要使用direction.equals(&#34; string&#34;)。请参阅azurefrog的评论。

  4. 我假设你正在使用像Eclipse或IntelliJ这样的IDE(如果你不这样做,你可能应该这样做)。用鼠标将鼠标悬停在红色部分上,它应该告诉你它在抱怨什么。

答案 1 :(得分:0)

类型为a的变量int就像if(a >=1 && a <=7)

一样

答案 2 :(得分:-2)

以下是对您的代码的更正: -

int i=0;
int b=0;
if (i>=1 && b<=7){ /*you need to have variables for your int and u must 
define them before the if statment*/ 
Scanner sc = new Scanner(System.in);
String direction;
System.out.println("Enter your choice: ");
direction=sc.next(); /*no D for Strings and .nextLine() if its separated by 
spaces*/.
if (direction.equals("left")) { /*String uses .equals() method inside for  
comparing equal strings*/.
    maze.push("left"); //String uses literals " "
    System.out.println("Pushed left to stack");
}}