2017-02-14 183 views
3

嘿,我有一些麻烦,我的Java代码。 我尝试用java编码几个小时,我不知道为什么我要问。我通过尝试学习最好,但我遇到了很多问题。Java如果(是或否语句)

所以:我想扫描仪扫描的下一条语句,如果它的“JA”它应该做的事,如果等

的问题是,当我尝试编译它与=错误s.nextInt的东西。在控制台中它说:“找不到符号”。我尝试了很多我不知道该怎么做的事情。已经尝试过这么多。

import java.util.Scanner; 

public class Brotcrunsher { 
    public static void main(String args[]) { 
     Scanner scan = new Scanner(System.in); 
     System.out.println ("Hallo"); 
     System.out.println ("A flag has more then 1 color right?"); 
     String a = s.NextInt(); 
     if (a.equals("ja")) { 
      System.out.println ("You arent dumb, nice."); 
     } // end of if 
     else { 
      System.out.println ("You arentn a genie"); 
     } // end of if-else 
    } 
} 

在此先感谢。

编辑:问题解决了。感谢你的每一个人。我尽我所能来标记自己的岗位更好,格式化我的代码更好

+0

尝试'scan.nextLine()的''而不是s.NextInt()' – Eran

+0

第一,它是'nextInt'不'NextInt'(解释 “找不到符号”),当然这是用来获取'int'而不是'String'。 – AxelH

+1

玩得开心,决定哪个答案值得接受;-)但是,也许你很幸运,并得到另一个upvote;并在达到“优级声誉”时;您至少可以同等提供所有答案;-) – GhostCat

回答

0

两个问题,一个是aString不是int,第二个是Scanner.nextLine()(或nextInt()next())。而且,本地参考是scan(而不是s)。像,

String a = scan.nextLine(); 
1

这里:

String a = s.NextInt(); 

你想a是字符串(如您想将它与其他字符串后面比较这是有道理的);所以你最好使用:

String a = s.nextLine(); 

改为!

另一种方法一)不存在和b)nextInt() ...返回一个数字,而不是字符串

+0

感谢您的答复。但是在控制台中没有发生很大的变化。出于某种原因,还在说:如下: “字符串A = s.nextLine(); ^ 符号:方法nextLine() 位置:类Brotcrusher 错误:无法找到symbole –

+0

@Kaipo这是在声明中命名为'scan' ...你在你的代码中输入了一个错字 – AxelH

1

尝试:

import java.util.Scanner; 
public class Brotcrunsher { 
    public static void main(String args[]){ 
     Scanner scan = new Scanner(System.in); 

     System.out.println ("Hallo"); 
     System.out.println ("A flag has more then 1 color right?"); 

     String a = scan.nextLine(); 
     if (a.equals("ja")) { 
      System.out.println ("You arent dumb, nice."); 
     } // end of if 
     else { 
      System.out.println ("You arentn a genie"); 
     } // end of if-else 
    } 
} 
+0

已经工作了,谢谢你对这个社区做好准备 –

+2

你应该强调这种答案的变化,没有这个,他永远不会看到差异, -past;) – AxelH

0

您可以使用这样的。

import java.util.Scanner; 
class ScannerTest{ 
    public static void main(String args[]){ 
     Scanner sc=new Scanner(System.in); 

     System.out.println("Enter your rollno"); 
     int rollno=sc.nextInt(); 
     System.out.println("Enter your name"); 
     String name=sc.next(); 
     System.out.println("Enter your fee"); 
     double fee=sc.nextDouble(); 
     System.out.println("Rollno:"+rollno+" name:"+name+" fee:"+fee); 
     sc.close(); 
    } 
} 

refrence:http://www.javatpoint.com/Scanner-class

+1

你应该检查关于链接的[答案] ... – AxelH

+0

因为该链接包含整个示例 –

+1

只是其中一个重要的行我指出:“总是引用重要链接中最相关的部分,以防目标网站无法访问或永久脱机。”_现在看起来像是一个评论;) – AxelH

0

你已经得到了应

String a = scan.next(); 

编译错误由于扫描是扫描仪的对象,你正在使用String a = s.NextInt();这是不是在扫描仪的所有对象。

1

我可以看到两个错误,首先你是从命令行用户采取字符串输入使扫描仪必须是“scanner.nextLine()”这需要一个字符串,因为它代表你期待一个整数值。

其次你“s.scanner”不叫什么,你已经宣布你的扫描仪名称“扫描”,所以你需要改变,要“扫描”


import java.util.Scanner; 

public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 

    System.out.println("A flag has more than one colour?"); 
    String input = scan.nextLine(); 

    if (input.equals("yes")) { 
     System.out.println("well done"); 
    } else { 
     System.out.println("wrong answer"); 
    } 
}