在不使用任何String函数的情况下读取Character数组中的字符串,甚至不使用Java中的charAt

时间:2014-07-29 09:07:16

标签: java c++ arrays string

我想在char数组中读取一个String,而不使用任何String类函数,甚至不使用Java中的charAt(),lenght()。我知道一个方法char c =(char)System.in.read()。但是在这种情况下,即使输入单个字符,用户字符也会在命令行上写一整句。我希望用户能够输入一个字符,然后我可以对它进行一些操作,然后在同一行上的下一个字符....(正如我们在c ++中所做的那样)。请给我一些建议。我想要一个像c ++一样工作的代码

// c++ code
char c, d[50];
cin.get(c); 
int i=0;
while(c != '\n')
{
    d[i++]=c;
    ...           //any expressions
    ...
    cin.get(c); 
}

1 个答案:

答案 0 :(得分:0)

一次处理一个角色并不容易。

请参阅SO thisthis。您可能会遇到一些令人头疼的问题,特别是操作系统没有来自System.in的数据,而是来自您自己的结构。如果您在每次击键时找到了清除System.in的方法,那么问题就解决了。据我所知,你不能从Java注册键盘IRQ。

你的没有 - String要求是容易的部分,因为你可能使用与在C ++中相同的结构。问题是cin.get()背后的机制,它在Java中没有类似的东西。