林新,我嘗試寫一些代碼,它用於計算字符串的字母,空格等。所以,我將數組長度設置爲50.但是,當我稍後運行代碼並輸入超過50個字符時,它仍然可以運行,並且總數可能超過50個,爲什麼?謝謝。爲什麼數組似乎比其最大長度更長?
import java.util.Scanner;
public class javaexcrises {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String astrg = new String();
char[] ch = new char[50];
int charcount=0;
int spaccount=0;
int numcount=0;
int othcount=0;
System.out.println("Please enter some word ");
if(scan.hasNextLine()){
astrg = scan.nextLine();
ch = astrg.toCharArray();
int i;
for(i=0;i<astrg.length();i++){
if(Character.isLetter(ch[i])){
charcount++;
}
else if(Character.isDigit(ch[i])){
numcount++;
}
else if(Character.isSpaceChar(ch[i])){
spaccount++;
}
else{
othcount++;
}
}
System.out.println("Character = "+charcount);
System.out.println("Space = "+spaccount);
System.out.println("Number = "+numcount);
System.out.println("Others ="+othcount);
System.out.println("Total = "+ch.length);
}
scan.close();
}
}
你可以省略'= new char [50]',沒有什麼會改變。 –