導航:首頁 > 編程語言 > javastring個數

javastring個數

發布時間:2025-02-04 22:26:45

java中String類型有沒有長度的限制

嚴格來說,String確實有長度限制。

1、String內部使用一個char[]數組來存放字元串的內容,數組下標是整型(也可以參考String的構造方法String(char value[], int offset, int count) ,可以知道字元數量是用整型表示),整型(Java規定32位)表示範圍是2G,也就是說,Java數組最大的長度是2G,即字元串不能超過2G個字元。

2、Java的數組大小還有沒有別的限制?事實上數組大小不能超過Java堆的大小,而Java堆的最大尺寸可以通過啟動參數指定,如果Java堆開得足夠大,數組的最大長度是可以不斷增大的。

3、所以,理論上,字元串不能超過2G個字元,少於2G個字元都有可能。

⑵ 用java編程統計用戶從鍵盤輸入的字元串中所包含的字母,數字和其他字元串的個數

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class _1 {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub

String zifuchuan = new String("");
int hanzishu = 0;
int zimu = 0;
int kongge = 0;
int shuzi = 0;
int qita = 0;
System.out.print("請輸入一行字元:");
BufferedReader stdin = new BufferedReader(new InputStreamReader(
System.in));
zifuchuan = stdin.readLine();
byte[] bytes = zifuchuan.getBytes();
for (int i = 0; i < bytes.length; i++) {
if ((bytes[i] >= 65 && bytes[i] <= 90)
|| (bytes[i] >= 97 && bytes[i] <= 122))
zimu++;
else if (bytes[i] == 32)
kongge++;
else if (bytes[i] >= 48 && bytes[i] <= 57)
shuzi++;
else if (bytes[i] < 0)
hanzishu++;
else
qita++;
}
System.out.println("字元串所佔位元組個數為:" + bytes.length);
System.out.println("漢字個數為:" + hanzishu / 2);
System.out.println("英文字母個數為:" + zimu);
System.out.println("空格個數為:" + kongge);
System.out.println("數字個數為:" + shuzi);
System.out.println("其他字元個數為:" + qita);
}

}

⑶ 如何用java String 查找字元個數

import java.util.Scanner;
public class test3 {
public static void main(String [] args){
System.out.print("inuput : ");
Scanner input=new Scanner(System.in);
int [] digit =new int[256];
String inputString = input.next();
//為了避免在輸入的時候錯誤的鍵入了空格和table,進行一下處理
//以空格為分隔符分割字元串
String [] strings=inputString.split(" ");
String inputString1="";
//將分割後的字元串重新連接起來
for(String str : strings){
inputString1+=str;
}
//以table為分隔符分割字元串
strings=inputString.split(" ");
//將分割後的字元串重新連接起來
String inputString2="";
for(String str : strings){
inputString2+=str;
}
String returnString="";
for (int i = 0; i < inputString2.length(); i++) {
digit[inputString.charAt(i)-'!']++;
//將重復的字元輸出,這里為什麼是2呢有人會問重復次數也可以大於2啊?
//是因為大於2的在2的時候已經被輸出,為了避免重復次數大於2的字元被重復輸出,所以這里只能是2
if(digit[inputString.charAt(i)-'!']==2){
returnString+=inputString.charAt(i);
}
}
System.out.print(returnString);
}
}


樓主算是問對人了

馬上給答案


樓主雖然我這個最終目的不是統計每個字元的個數,但是代碼裡面已經實現了這個功能,只要稍作修改就可以,我的主要功能是輸出重復的字元!


希望我給的代碼樓主還滿意

閱讀全文

與javastring個數相關的資料

熱點內容
軟通動力程序員節2021 瀏覽:845
安卓系統如何卸載安裝包 瀏覽:870
簡訊刪除助手文件夾 瀏覽:688
java辦公自動化 瀏覽:340
php中超鏈接 瀏覽:253
linux默認路由設置 瀏覽:36
linux如何掛載iso 瀏覽:432
vs程序換文件夾後不能編譯 瀏覽:557
安卓源碼編譯輸入腳本沒反應 瀏覽:47
phpmysql自增 瀏覽:167
把ppt保存為pdf 瀏覽:533
汽車密封件加密配件 瀏覽:887
黑馬程序員15天基礎班 瀏覽:560
java調整格式 瀏覽:521
香港雲伺服器租用價 瀏覽:78
linuxsublime3 瀏覽:560
imac混合硬碟命令 瀏覽:279
沈陽用什麼app租房車 瀏覽:859
00後高中生都用什麼app 瀏覽:239
戴爾塔式伺服器怎麼打開獨立顯卡 瀏覽:808