java計算字元
1. java中怎麼計算輸入字元串的長度
通過String自帶的length()方法獲取字元串長度。
String a="abcdefg";//定義一個字元串
int len = a.length();//通過length獲取字元串長度,這里等於7
length()該方法返回此字元串的長度。長度是等於Unicode代碼單元中的字元串的數目。
2. 用java計算一個字元串中字母的個數後如何驗證
用java計算一個字元串中字母的個數後先把字元串轉換成字元數組,然後對每個字母,或者數字每次遍歷數組一個個統計驗證。
3. java 怎麼 字元串進行運算 如:String str = "(((12 -2) * 5 ) /2) +30"; 最好要有代碼。
如果你說的是用一個counter(String
str)的方法調用後得到str的計算結果話
2個數字加一個運算符,3個一組進行計算,得到一個數字,加另一個數字和運算符繼續計算
需要注意string中連續的數字要整合成一個數字
加上括弧的時候運算順序要小心,特別注意括弧前有計算數字,比如5+(2+5)
括弧後面有乘除法運算,比如5+(2+5)/2
括弧算完了要繼續算後面的除法,之後用得到的數字加上前面的加號運算符和『5』一起運算,演算法思想就是這樣了
要是有堆棧就建倆堆棧,一個運算符,一個數字
沒括弧的:數字壓棧,符號壓棧,數字壓棧,判斷下一個符號是否為乘除號,不是數字退棧,符號退棧,數字退棧,計算,得到結果,數字壓棧,是乘除號,繼續符號壓棧,數字壓棧,數字退棧,符號退棧,數字退棧,計算,數字壓棧,數字退棧,符號退棧,數字退棧,計算,數字壓棧
要是有括弧:遇到括弧後,正括弧壓棧,數字壓棧,符號壓棧,數字壓棧,數字退棧,符號退棧,數字退棧,計算,得到結果……(與不加括弧的情況一樣)……直到遇到反括弧,將正括弧退棧,先看後面是否有乘除符號,若沒有,看看符號棧是否為空,若不為空說明是括弧前有運算的情況,將整個括弧得到的數值當做數字壓棧後按不帶括弧的處理,後面有乘除法,先乘除然後作為一個數字繼續運算
用數組就建立2個數組,2個int型變數作為數組指針,一個存符號,一個存數字,方法與用堆棧相同
代碼量一般,0分完全沒有寫代碼的慾望啊,不過我的演算法是正確的,望採納
4. Java 計算字元長度的語句
import java.util.Scanner;
public class SayYourName {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String str = "";
while(true)
{
str = sc.nextLine();
System.out.print("+");
for(int i=0;i<str.length();i++)
{
System.out.print("-");
}
System.out.println("+");
System.out.println("|"+str+"|");
System.out.print("+");
for(int i=0;i<str.length();i++)
{
System.out.print("-");
}
System.out.println("+");
}
}
}
5. (java)如何獲取字元串的位元組數!
(java)如何獲取字元串的位元組數!, java怎樣獲取字元串的位元組數
字元串是可以轉變成位元組數組,然後統計一下位元組數組的長度即可,參考如下代碼:
Java語言中,中文字元所佔的位元組數取決於字元的編碼方式,一般情況下,採用ISO8859-1編碼方式時,一個中文字元與一個英文字元一樣只佔1個位元組;採用GB2312或GBK編碼方式時,一個中文字元佔2個位元組;而採用UTF-8編碼方式時,一個中文字元會佔3個位元組。
public static void main(String []args) throws UnsupportedEncodingException {
運行結果:2
System.out.println("測試".getBytes("ISO8859-1").length);
運行結果:4
System.out.println("測試".getBytes("GB2312").length);
運行結果:4
System.out.println("測試".getBytes("GBK").length);
運行結果:6
System.out.println("測試".getBytes("UTF-8").length);
}
c# 獲取字元串的位元組數
C#截取字元串位元組數 代碼如下:
public int bytelenght(string str)
{
byte[] bytestr = System.Text.Encoding.Unicode.GetBytes(str);
int j = 0;
for (int i = 0; i < bytestr.GetLength(0); i++)
{
if (i % 2 == 0)
{
j++;
}
else
{
if (bytestr[i] > 0)
{
j++;
}
}
}
return j;
}
謝謝採納
c++ 怎樣獲取一串字元串的字元數,不是位元組數
定義一個字元數組,然後根據字元長度循環得到字元
比如char ch[20];
這個20可以用字元實際長度getlength()獲取
然後再循環獲取字元
ch[i]
c#求字元串的位元組數
其實用不著那麼復雜計算的。注意:C#中string.Length只是計算字元串「字元」的個數,不計算位元組;但是漢字兩個位元組+數字(英文字元)一個位元組,才是6個,簡單的代碼如下: byte[] bytes = Encoding.Default.GetBytes("1243我"); Default(根據自己究竟是漢字還是數字等,自動合理分配內存所需要的位元組空間)
Console.WriteLine(bytes.Length);
C#如何獲得存放字元串的位元組數組?
byte[] System.Text.Encoding.Default.GetBytes(string s)
如何計算一個Unicode字元串的位元組數
你就是一個byte一個byte讀取的吧?一個漢字兩個byte(不含surrogate情況),文件中存兩個byte,你從文件中讀取2個byte,就是這樣 查看原帖>>
java下字元串和位元組數組如何轉換?
strRead = String.ValueOf(strRead.toCharArray(), 0, byBuffer.length]); 2、字元串轉換成位元組數組 byte[] byBuffer = new byte[200]; byBuffer= strInput.getBytes();注意:如果字元串裡面含有中文,要特別注意,在android系統下,默認是UTF8編碼,一個中文字元相當於3個位元組,只有gb2312下一個中文相當於2位元組。
6. 簡單的JAVA字元串長度計算的實現
簡單實現代碼如下:
public
class
stringlength
{
/**
*
獲取字元串的長度,如果有中文,則每個中文字元計為2位
*
@param
value
指定的字元串
*
@return
字元串的長度
*/
public
static
int
length(string
value)
{
int
valuelength
=
0;
string
chinese
=
"[\u0391-\uffe5]";
/*
獲取欄位值的長度,如果含中文字元,則每個中文字元長度為2,否則為1
*/
for
(int
i
=
0;
i
<
value.length();
i++)
{
/*
獲取一個字元
*/
string
temp
=
value.substring(i,
i
+
1);
/*
判斷是否為中文字元
*/
if
(temp.matches(chinese))
{
/*
中文字元長度為2
*/
valuelength
+=
2;
}
else
{
/*
其他字元長度為1
*/
valuelength
+=
1;
}
}
return
valuelength;
}
public
static
void
main(string
args[]){
string
str
=
"hello你好";
system.out.println(stringlength.length(str));
}
}
7. java計算出字元串中所有的數字求和
//如果僅僅識別整數的話,可以用這個x0dx0ax0dx0apublic class T {x0dx0a public static void main(String[] args) {x0dx0a String value = "我們都是2007年3月28日參加課題設計的,對於我們來說也是第1次挑戰,但結果是好的,我們做到了100%滿意。";x0dx0a System.out.println(sum(value));x0dx0a }x0dx0ax0dx0a public static int sum(String value) {x0dx0a String strings[] = value.split("\\D+");x0dx0a int sum = 0;x0dx0a for (String s : strings) {x0dx0a if (!s.equals("")) {x0dx0a sum += Integer.parseInt(s);x0dx0a }x0dx0a }x0dx0a return sum;x0dx0a }x0dx0a}
8. java語言中如何獲取字元串中漢字的個數
【實例描述】
字元串中可以包含數字,字母、漢字或者其他字元。使用Character類的isDigit()方法可以判斷字元中的某個字元是否為數字,使用Character類的isLetter()方法可以判斷字元中的某個字元是否為字母。實例中將介紹一種方法用來判斷字元串中的某個字元是否為漢字,通過此方法可以計算字元串中漢字的數量。實例的運行效果如圖4.24所示。
【實現過程】
在Eclipse中新建項目ChineseCharacter,並在其中創建一個ChineseCharacter.java文件。在該類的主方法中創建標准輸入流的掃描器對象,接收用戶輸入的字元串。我們在程序中使用matches()方法來統計該字元串中漢字的個數。核心代碼如下所示:
【代碼解析】
本實例的關鍵點在於正則表達式的使用。Java提供了Pattern用於正則表達式的編譯表示形式,該類提供的靜態方法matches()可以執行正則表達式的匹配。該方法編譯給定正則表達式並嘗試給定輸入與其匹配。如果要匹配的字元序列與正則表達式匹配則返回true,否則返回false。其聲明語法如下:
使用正則表達式可以方便地進行字元串操作,正則表達式經常被用來驗證用戶輸入的信息,如可以判斷用戶輸入的格式是否正確。本實例中使用正則表達式來判斷用戶輸入的字元串是否為漢字,如果為漢字則計數器加1,最後得到字元串中所有漢字的數量。