Java if(是或否声明)

时间:2017-02-14 11:53:50

标签: java java.util.scanner

嘿,我的java代码遇到了麻烦。 我尝试用java编写一些代码几个小时,我不知道为什么我要问。我通过尝试学得最好,但我遇到了很多问题。

所以:我希望扫描仪扫描下一个Statement,如果它是“ja”,它应该做if事等。

问题是,当我尝试编译它时,它与= 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
    }
}

提前感谢。

编辑:问题解决了。谢谢你的每一个人。我会尽力更好地标记我的帖子并更好地格式化我的代码

6 个答案:

答案 0 :(得分:1)

下面:

String a = s.NextInt();

你希望a是String(这是有意义的,因为你想稍后将它与其他字符串进行比较);所以你最好使用:

String a = s.nextLine();

,而不是!

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

答案 1 :(得分: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
    }
}

答案 2 :(得分:1)

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

其次“s.scanner”没有调用任何内容,您已使用名称​​“scan”声明了扫描程序,因此您需要将其更改为 “扫描”

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");
    }
}

答案 3 :(得分:0)

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

String a = scan.nextLine();

答案 4 :(得分: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();
    }
}

参考:http://www.javatpoint.com/Scanner-class

答案 5 :(得分:0)

您的编译错误应为

String a = scan.next();

由于扫描是您使用String a = s.NextInt();的扫描仪对象,而{{1}}根本不是扫描仪的对象。