嗨,我有一种算法应读取用户输入,将其保存在数组中,并计算使用的字母A使用的3 b使用的3 .....但是我的算法不适用于1,3,任何奇数和2,4 ,甚至是数字。.任何解决此错误的方法谢谢大家的帮助代码:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int i = 0;
char c;
int counta = 0;
int countb = 0;
int countc = 0;
int countd = 0;
char [] array = new char [4];
array[0]='a';
array[1]='b';
array[2]='c';
array[3]='d';
while (reader.read()!='\n') {
int x = 1+i;
char[] cbuf = new char[x];
c = (char) reader.read();
cbuf[i] = c;
if (cbuf[i]==array[0]){
counta++;
}
if (cbuf[i]==array[1]){
countb++;
}
if (cbuf[i]==array[2]){
countc++;
}
if (cbuf[i]==array[3]){
countd++;
}
System.out.println(cbuf);
i++;
}
由于每次迭代都要读两次,所以会出现问题。
c = (char) reader.read();
while (c!='\n') {
int x = 1+i;
char[] cbuf = new char[x];
cbuf[i] = c;
if (cbuf[i]==array[0]){
counta++;
}
if (cbuf[i]==array[1]){
countb++;
}
if (cbuf[i]==array[2]){
countc++;
}
if (cbuf[i]==array[3]){
countd++;
}
System.out.println(cbuf);
i++;
c = (char) reader.read(); //read once on every iteration
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句