Java if(是或否声明)

问题描述 投票:2回答:6

嘿,我的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
    }
}

提前致谢。

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

java java.util.scanner
6个回答
1
投票

这里:

String a = s.NextInt();

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

String a = s.nextLine();

代替!

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


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

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
投票

您应该有一个编译错误

String a = scan.next();

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


0
投票

两个问题,一个是Stringint而不是Scanner.nextLine(),第二个是nextInt()(或next()scan)。而且,本地参考是s(不是String a = scan.nextLine(); )。喜欢,

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

0
投票

你可以像这样使用。

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

参考:qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.