0

我正在编写 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()

我不明白出了什么问题。

4

3 回答 3

3

该类Scanner没有nextChar()方法。这里列出了可用的方法,但没有一个是nextChar()。您可以改为使用next()和读取单个字符作为字符串。

于 2013-10-17T03:37:45.810 回答
2

我不明白出了什么问题。

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

如果要使用 Scanner 读取字符,可以将其分隔符更改为空字符串""

console.useDelimiter("");

和使用next()方法。


=另外,您应该再添加一个

if (console.nextChar() = lotto)

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

于 2013-10-17T03:38:03.563 回答
1

为了char从 a 中获取 aScanner您需要使用next(),它返回 a String。然后从那里得到第一个char

char x = console.next().charAt(0);
于 2013-10-17T03:38:56.627 回答