热心善良的网友,能帮忙看看Java程序中几处报错吗,找不出来咋修改了。?
public void printVowelStats(){
int a=0,e=0,i=0,o=0,u=0,non=0;
int j;
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='A'||StringWithUtilities.a[j]=='a'){
a++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='E'||StringWithUtilities.a[j]=='e'){
e++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='I'||StringWithUtilities.a[j]=='i'){
i++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='O'||StringWithUtilities.a[j]=='o'){
o++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='U'||StringWithUtilities.a[j]=='u'){
u++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]!='A'||StringWithUtilities.a[j]!='a'||StringWithUtilities.a[j]!='E'||StringWithUtilities.a[j]!='e'||StringWithUtilities.a[j]!='I'||StringWithUtilities.a[j]!='i'||StringWithUtilities.a[j]!='O'||StringWithUtilities.a!='o'||StringWithUtilities.a[j]!='U'||StringWithUtilities.a[j]!='u'){
non++;
}
}
System.out.println(str+a+"'a's,"+e+"'e's,"+i+"'i's,"+o+"'o's,"+u+"'u's,and"+non+"non-vowels");
}
我可以帮忙调试
import java.util.HashMap;
import java.util.Map;
public class StringWithUtilities {
static char a[];
private String str;
public StringWithUtilities(String str){
this.str=str;
}
public void setString(String str){
this.str=str;
}
public String getString(){
return this.str;
}
public char[] getCharArray(){
char arr[]=str.toCharArray();
a=arr;
return arr;
}
public void printVowelStats(){
int a=0,e=0,i=0,o=0,u=0,non=0;
int j;
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='A'||StringWithUtilities.a[j]=='a'){
a++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='E'||StringWithUtilities.a[j]=='e'){
e++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='I'||StringWithUtilities.a[j]=='i'){
i++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='O'||StringWithUtilities.a[j]=='o'){
o++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]=='U'||StringWithUtilities.a[j]=='u'){
u++;
}
}
for(j=0;j<StringWithUtilities.a.length;j++){
if(StringWithUtilities.a[j]!='A'||StringWithUtilities.a[j]!='a'||StringWithUtilities.a[j]!='E'||StringWithUtilities.a[j]!='e'||StringWithUtilities.a[j]!='I'||StringWithUtilities.a[j]!='i'||StringWithUtilities.a[j]!='O'||StringWithUtilities.a[j]!='o'||StringWithUtilities.a[j]!='U'||StringWithUtilities.a[j]!='u'){
non++;
}
}
System.out.println(str+a+"'a's,"+e+"'e's,"+i+"'i's,"+o+"'o's,"+u+"'u's,and"+non+"non-vowels");
}
public void leastChar(){
int i;
int position=0;
char min=StringWithUtilities.a[0];
for(i=0;i<StringWithUtilities.a.length;i++){
if(StringWithUtilities.a[i]>=65&&StringWithUtilities.a[i]<=90){
int x=(int)StringWithUtilities.a[i]+32;
StringWithUtilities.a[i]=(char)x;
}
if(StringWithUtilities.a[i]<min){
min=StringWithUtilities.a[i];
position=i;
}
System.out.println("the least char is"+min+"and occurs at position"+position);
}
}
public void printStringStats(){
int m;
char []a = {'1'};
char []b= {'1'};
char max=StringWithUtilities.a[0],sec=a[0],thr=b[0];
for(m=0;m<StringWithUtilities.a.length;m++){
if(StringWithUtilities.a[m]>=65&&StringWithUtilities.a[m]<=90){
int x=(int)StringWithUtilities.a[m]+32;
StringWithUtilities.a[m]=(char)x;
}
if(StringWithUtilities.a[m]>max){
max=StringWithUtilities.a[m];
}
}
for(m=0;m<StringWithUtilities.a.length;m++){
if(StringWithUtilities.a[m]>=65&&StringWithUtilities.a[m]<=90){
int x=(int)StringWithUtilities.a[m]+32;
StringWithUtilities.a[m]=(char)x;
}
if(StringWithUtilities.a[m]!=max){
a[m]=StringWithUtilities.a[m];
}
else if(StringWithUtilities.a[m]==max){
a[m]='a';
}
}
for(m=0;m<a.length;m++){
if(a[m]>=65&&a[m]<=90){
int x=(int)a[m]+97;
a[m]=(char)x;
}
if(a[m]>max){
sec=StringWithUtilities.a[m];
}
}
for(m=0;m<a.length;m++){
if(a[m]>=65&&a[m]<=90){
int x=(int)a[m]+32;
a[m]=(char)x;
}
if(a[m]!=sec){
b[m]=a[m];
}
else if(a[m]==sec){
b[m]='a';
}
}
for(m=0;m<b.length;m++){
if(b[m]>=65&&b[m]<=90){
int x=(int)b[m]+32;
b[m]=(char)x;
}
if(b[m]>thr){
thr=b[m];
}
}
Map<Character, Integer> map = new HashMap<Character, Integer>();
if (!(StringWithUtilities.a == null || StringWithUtilities.a.length == 0))
for (int i = 0; i < StringWithUtilities.a.length; i++) {
if (null != map.get(StringWithUtilities.a[i]))
map.put(StringWithUtilities.a[i], map.get(StringWithUtilities.a[i]) + 1);
else
map.put(StringWithUtilities.a[i], 1);
}
int maxValue = map.get(StringWithUtilities.a[0]);
char ch = ' ';
for (int j = 0; j < StringWithUtilities.a.length; j++){
if (maxValue < map.get(StringWithUtilities.a[j])) {
maxValue = map.get(StringWithUtilities.a[j]);
ch = StringWithUtilities.a[j];
}
}
if(thr==sec){
System.out.println("in '"+str+"',the largest letter is'"+max+"',there is no third largest letter,and the most common letter is '"+ch+"',occurring"+maxValue+"times");
}
else {
System.out.println("in '"+str+"',the largest letter is'"+max+"',the third largest letter is '"+thr+"',and the most common letter is '"+ch+"',occurring"+maxValue+"times");
}
}
protected void finalize(){
System.out.println("Finalizing class with String:"+str);
}
public StringWithUtilities(){
}
}
你在凭空想象,你在胡言乱语
兄弟,把问题发出来看看
多注意细节问题,变量不要重名
String str="abcdfertyaaaa";
char StrA[]=str.toCharArray();
int non=0;
for(int j=0;j<StrA.length;j++){
if(StrA[j]!='A'||StrA[j]!='a'||StrA[j]!='E'||StrA[j]!='e'||StrA[j]!='I'||StrA[j]!='i'||StrA[j]!='O'||StrA[j]!='o'||StrA[j]!='U'||StrA[j]!='u'){
non++;
}
}
System.out.println("NON:"+non);