编译器说Java代码无效

时间:2013-10-17 03:36:36

标签: java bluej

我正在研究Java代码:

import java.util.Scanner;

public class main
{
    static Scanner console = new Scanner (System.in);
    public static void main (String aurgs[]) {

        System.out.print("Which function would you like to vist? L for Lottery, R for Random Math");
        char lotto = 'l';
        char rdm = 'b';

        if (console.nextChar() = lotto) /**error is here*/ {
            lottery();
        }
    }
    public static void lottery (String aurgs[]) {
        String announ = "Your lottery numbers for today are: ";
        System.out.print(announ);
        int [] numbers = {15, 68, 25, 66};
        double lucky = 50.2;
        for (int i: numbers )
            System.out.print(i + "\n");

        String announ2 = "Your lucky number is: ";
        System.out.println(announ2 + lucky);
        }
}

当我编译它时,BlueJ说:

找不到符号 - 方法nextChar()

我不明白出了什么问题。

3 个答案:

答案 0 :(得分:3)

Scanner类没有nextChar()方法。可用方法列于here,其中没有一个是nextChar()。您可以改为使用next()并将单个字符作为字符串读取。

答案 1 :(得分:2)

  

我不明白出了什么问题。

很简单。扫描仪没有nextChar()方法。

如果您想使用扫描仪读取字符,可以将其分隔符更改为空字符串""

console.useDelimiter("");

并使用next()方法。


此外,您还应在

中添加一个=
if (console.nextChar() = lotto)

如果你想比较字符(单=用于分配值)。

答案 2 :(得分:1)

要从char获取Scanner,您需要使用next(),这会返回String。 然后从中获取第一个char

char x = console.next().charAt(0);