所以,对于作业,我必须做这个部分,但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)部分不起作用。其他一切都很好
答案 0 :(得分:1)
所以,我看到一些问题:
int
不是变量;它是原始类型的名称。您不能在java中将任何变量命名为int
,并且您当然无法对其进行比较。
扫描仪没有名为nextD()的类。您可能正在寻找nextLine
在Java中,字符串用双引号"
括起来,而不是单引号'
。另外,要比较字符串,您需要使用direction.equals(&#34; string&#34;)。请参阅azurefrog的评论。
我假设你正在使用像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");
}}