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

在不使用任何字符串函数的情况下读取字符数组中的字符串,在Java中甚至不使用charAt,java,c++,arrays,string,Java,C++,Arrays,String,我想在不使用任何字符串类函数的情况下读取字符数组中的字符串,甚至不使用Java中的字符长度。我知道一种方法char c=char System.in.read。但在这种情况下,用户char在命令行上写下一个完整的句子,即使只输入一个char。我希望用户能够键入一个字符,然后我可以对它做一些操作,然后在同一行上的下一个字符……就像我们在C++中所做的那样。请给我一些建议。我想要一个类似于c语言的代码++ // c++ code char c, d[50]; cin.get(c); int i=0

我想在不使用任何字符串类函数的情况下读取字符数组中的字符串,甚至不使用Java中的字符长度。我知道一种方法char c=char System.in.read。但在这种情况下,用户char在命令行上写下一个完整的句子,即使只输入一个char。我希望用户能够键入一个字符,然后我可以对它做一些操作,然后在同一行上的下一个字符……就像我们在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); 
}

一次处理一个字符是不容易的

见某某。您可能会遇到一些麻烦,在特定操作系统上解决此问题,并且没有来自System.in的数据,而是来自您自己的结构。如果您在每次击键时找到刷新System.in的方法,您的问题就解决了。据我所知,您不能从Java注册键盘IRQ


你的字符串需求是很容易的部分,因为你可以使用与C++中相同的结构。java是java java的一个机制,它的问题是在java中没有类似的机制。

第一个提示是为了避免恼人的Java程序员:它是Java,而不是Java。你的C++代码有缺陷。我没有草签你为什么要这么做,当java使用字符串方法简化它时,听起来你真正想要的是:我可以在不等待换行的情况下从控制台读取字符吗?这与在不使用任何字符串函数的情况下读取字符数组中的字符串没有多大关系。你还要求用户输入字符并在等待另一个字符?即多线程?