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

Reading a string in Character array without using any String function, not even charAt in Java

本文关键字:字符串 Java 中的 charAt 函数 任何 数组 字符 读取      更新时间:2023-10-16

我想在字符数组中读取字符串,而不使用任何字符串类函数,甚至不是charAt(), length()在Java中。我知道一个方法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); 
}

一次处理一个字符并不容易。

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

您的no- String要求是简单的部分,因为您可以使用与c++相同的结构。问题是cin.get()背后的机制,在Java中没有类似的。