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