问题描述
这是一个涉及字符数组并使用递归的问题。我部分了解如何解决它,但我似乎无法输出 char a
在 char 数组中出现的次数。这是我想出的两种变体的方法,但都没有成功。
private static Int charCount(char[] test,int i,char c) {
int[] number = new int[26];
char c = 'a';
if (test.length == 0) {
return 0;
}
int count = 0;
if (test == a) {
count++;
}
return count + count(test[1],a);
}
for(c = 'a'; c <= 'z'; c++)
{
for( char x : test )
{
if( c == x )
{
c++;
}
}
}
解决方法
所以我想我明白这一点,但如果我不明白,请告诉我。您的问题是:如何读取数组中某个值的数量?正确的?如果是这样,那么这里是一些应该可以工作的代码:
import java.util.*;
public class HowToReadCountOfDataInArray {
private static final char[] arr = newArr();
private static int ReadArrayValue(char[] arr,char value) {
int count = 0;
for(int i = 0; i < arr.length; i++) {
if(arr[i] == value) {
count++;
}
}
return count;
}
public static void main(String[] args) {
System.out.println(ReadArrayValue(arr,'a'));
System.out.println(arr);
}
}
附言这是“newArr()”方法:
public static char[] newArr() {
char[] arr = new char[new Random().nextInt(100 + 1 - 1) + 1];
int aOrB = new Random().nextInt(2 + 1 - 1) + 1;
for(int i = 0; i < arr.length; i++) {
aOrB = new Random().nextInt(2 + 1 - 1) + 1;
if(aOrB == 1) {
arr[i] = 'a';
}else if(aOrB == 2) {
arr[i] = 'b';
}
}
return arr;
}