java中用户的基本读取输入

coh*_*sta -1 java input system.in

我想读取一个字符并将其存储到char[]数组中,这是我的方法调用getaline

public static int getaline(char message[], int maxlength)
{
     int index = 0;
     while (message[index] != '\n')
     {
         message[index] = fgetc(System.out);
         index++;
     }
     index++;
}
Run Code Online (Sandbox Code Playgroud)

和我的fgetc方法:

public static int fgetc(InputStream stream)
Run Code Online (Sandbox Code Playgroud)

并且此方法应从输入流返回一个字符.

但是我在编译时不断收到错误消息:

错误:可能会损失精度

message[index] = fgetc(System.in);
                       ^
required: char

found:    int
Run Code Online (Sandbox Code Playgroud)

我应该把它放在哪里,fgetc以便我可以收集用户的输入?

Jor*_*lla 5

你的代码期待a char,但你在int这里返回:

public static int fgetc(InputStream stream)
//            ? tells method will return an int
Run Code Online (Sandbox Code Playgroud)

您可以