我正在研究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()
我不明白出了什么问题。
答案 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);