① java中文字元所佔的位元組數是多少
採用或GBK編碼方式時,一個中文字元佔2個位元組;而採用UTF-8編碼方式時,一個中文字元會佔3個位元組。
② JAVA從命令行輸入幾個字元串,統計並列印出輸入字元串的個數、以及各字元串的字元個數。(
public static void main(String[] args) {
System.out.println("字元串個數:版"+args.length);
for(int i=0;i<args.length;i++) {
System.out.println("第"+(i+1)+"字元串字元個數:"+
args[i].length());
//args[i].length()表示傳權入參數的個數
}
③ java中統計字元數
package src;
import java.io.File;
import java.io.FileInputStream;
public class Rfile {
public static File f;
public static int ch;
public static int u=0;//大寫字母個數
public static int l=0;//小寫字母個數
public static int m=0;//數字個數
public static int o=0;//其他
public static void main(String [] args)throws Exception{
f=new File("C:/lijide.txt");
FileInputStream fis=new FileInputStream(f);
while ((ch=fis.read())!=-1){
char c=(char)ch;
if (Character.isUpperCase(c)){
u++;
}else if(Character.isLowerCase(c)){
l++;
}else if(Character.isDigit(c)){
m++;
}else{
o++;
}
}
System.out.println("大寫字母"+u+"\n"+"小寫字母"+l+"\n"+"數字"+m+"\n"+"其他"+o);
}
}
基本用到的判斷都是Character提供的方法 我在c盤下面存了個名字叫lijide.txt的文件,裡面寫了點字元,然後讀這些字元,挨個判斷是什麼類型,然後做計數,輸出。
結果如下:
大寫字母7
小寫字母33
數字18
其他14
④ java中String類型有沒有限制,最大限制是多少
嚴格來說,String確實有長度限制。
String內部使用一個char[]數組來存放字元串的內容,數組下標是版整型(也可以參考String的構造權方法String(char value[], int offset, int count) ,可以知道字元數量是用整型表示),整型(Java規定32位)表示範圍是2G,也就是說,Java數組最大的長度是2G,即字元串不能超過2G個字元。
Java的數組大小還有沒有別的限制?事實上數組大小不能超過Java堆的大小,而Java堆的最大尺寸可以通過啟動參數指定,如果Java堆開得足夠大,數組的最大長度是可以不斷增大的。
所以,理論上,字元串不能超過2G個字元,少於2G個字元都有可能。
但編碼時有需要注意的地方,採用明文的方式,如果超過65534個位元組,可能報編譯錯誤,可參考下列網站(有一處錯誤,整型考慮到符號位,最大隻到2G)。
⑤ 編寫java程序統計字元個數。
public static void main(String[] args) {
// TODO Auto-generated method stub
int abcCount=0;//英文字母個數
int spaceCount=0;//空格鍵個數
int numCount=0;//數字個數
int otherCount=0;//其他字元個數
Scanner scan=new Scanner(System.in);
String str=scan.nextLine();
char[] ch = str.toCharArray();
for(int i=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
//判斷是否字母
abcCount++;
}
else if(Character.isDigit(ch[i])){
//判斷是否數字
numCount++;
}
else if(Character.isSpaceChar(ch[i])){
//判斷是否空格鍵
spaceCount++;
}
else{
//以上都不是則認為是其他字元
otherCount++;
}
}
System.out.println("字母個數:"+abcCount);
System.out.println("數字個數:"+numCount);
System.out.println("空格個數:"+spaceCount);
System.out.println("其他字元個數:"+otherCount);