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以便我可以收集用户的输入?
你的代码期待a char,但你在int这里返回:
public static int fgetc(InputStream stream)
// ? tells method will return an int
Run Code Online (Sandbox Code Playgroud)
您可以
更改方法签名以返回a char.
public static char fgetc(InputStream stream)
// ? tells method will return a char
Run Code Online (Sandbox Code Playgroud)将返回值转换为 char
message[index] = (char) fgetc(System.in);
// ? cast returning value to a char
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |