我有以下称为s="abcac"无限次重复的字符串。这意味着s它将看起来像:s="abcacabcacabcacabcacabcac...."并n代表s.
例如,如果s="monday"和n="10",我们考虑的子字符串将是finalString="mondaymond",因为无限字符串将是"mondaymondaymondaymonday..."并且 的前 10 个字符s是"mondaymond"
我正在尝试计算 .csv 中字母“a”的出现次数finalString。此代码运行正常,但是当 n>1000000 时程序将无法运行。
此外,如果我n从intto更改为long,则在这种情况下 for 循环将不起作用。
这个问题的解决方案是什么?
public static void main(String[] args){
String s="abcac";
int aCount=0;
int n=1000;
int j=0;
char[] sCharArray=s.toCharArray();
char[] finalString = new char[n];
for(int i=0;i<n;i++){
if(j==s.length())
j=0;
finalString[i]=sCharArray[j];
j++;
}
for(int i=0; i<n;i++){
if(finalString[i]=='a')
aCount++;
}
System.out.println(aCount);
}
手掌心
小唯快跑啊
动漫人物
相关分类