java中用户的基本读取输入

java中用户的基本读取输入,java,input,system.in,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++; }

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

public static int getaline(char message[], int maxlength)
{
     int index = 0;
     while (message[index] != '\n')
     {
         message[index] = fgetc(System.out);
         index++;
     }
     index++;
}
以及我的
fgetc
方法:

public static int fgetc(InputStream stream)
这个方法应该从输入流返回一个字符

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

错误:可能会丢失精度


我应该在
fgetc
中放入什么,以便收集用户的输入???

您的代码需要
char
,但您在此处返回
int

public static int fgetc(InputStream stream)
//            ↑ tells method will return an int
你可以

  • 更改方法签名以返回
    字符

    public static char fgetc(InputStream stream)
    //            ↑ tells method will return a char
    
  • 将返回值强制转换为
    char

    强制转换()将表达式的类型转换为强制转换运算符()显式指定的类型

public static char fgetc(InputStream stream)
//            ↑ tells method will return a char
message[index] = (char) fgetc(System.in);
//               ↑ cast returning value to a char