⑴ java里關於判斷字元串長度的一個問題
if(stuName.length()
==
0);
這句話相當於為空的話
,什麼也不執行。
下面大括弧的代碼無論如何都能執行。
⑵ 在java中怎樣比較字元串的長度
用String類的length()方法獲取字元串長度,再比較:
public class example {
public static void main(String[] args) {
String str1="abcd";
String str2="abcde";
if(str1.length()<str2.length())
System.out.println("較短的字元串是:"+str1);
else
System.out.println("較長的字元串是:"+str2);
}
}
⑶ Java怎麼判斷判斷某個欄位中漢字的長度在2到20內
代碼如下:
/**
* 在Java中按位元組獲得字元串長度的兩種方法
*
*/
public class App
{
public static void main( String[] args ) throws UnsupportedEncodingException
{
String str = "只";
System.out.println(getWordCount(str));
System.out.println(getWordCountRegex(str));
System.out.println(getWordCountCode(str,"GBK"));
System.out.println(getWordCountCode(str,"UTF-8"));
}
/*由於Java是基於Unicode編碼的,因此,一個漢字的長度為1,而不是2。
* 但有時需要以位元組單位獲得字元串的長度。例如,「123abc長城」按位元組長度計算是10,而按Unicode計算長度是8。
* 為了獲得10,需要從頭掃描根據字元的Ascii來獲得具體的長度。如果是標準的字元,Ascii的范圍是0至255,如果是漢字或其他全形字元,Ascii會大於255。
* 因此,可以編寫如下的方法來獲得以位元組為單位的字元串長度。*/
public static int getWordCount(String s)
{
int length = 0;
for(int i = 0; i < s.length(); i++)
{
int ascii = Character.codePointAt(s, i);
if(ascii >= 0 && ascii <=255)
length++;
else
length += 2;
}
return length;
}
/*基本原理是將字元串中所有的非標准字元(雙位元組字元)替換成兩個標准字元(**,或其他的也可以)。這樣就可以直接例用length方法獲得字元串的位元組長度了*/
public static int getWordCountRegex(String s)
{
s = s.replaceAll("[^\\x00-\\xff]", "**");
int length = s.length();
return length;
}
/*按特定的編碼格式獲取長度*/
public static int getWordCountCode(String str, String code) throws UnsupportedEncodingException{
return str.getBytes(code).length;
}
}
⑷ java 怎樣判斷字元串的長度
/**
*得到一個字元串的長度,顯示的長度,一個漢字或日韓文長度為1,英文字元長度為0.5
*@paramStrings需要得到長度的字元串
*@returnint得到的字元串長度
*/
publicstaticdoublegetLength(Strings){
doublevalueLength=0;
Stringchinese="[u4e00-u9fa5]";
//獲取欄位值的長度,如果含中文字元,則每個中文字元長度為2,否則為1
for(inti=0;i<s.length();i++){
//獲取一個字元
Stringtemp=s.substring(i,i+1);
//判斷是否為中文字元
if(temp.matches(chinese)){
//中文字元長度為1
valueLength+=1;
}else{
//其他字元長度為0.5
valueLength+=0.5;
}
}
//進位取整
returnMath.ceil(valueLength);
}
⑸ java中怎樣判斷一個字元是幾個位元組
這些是不用判斷的。應該算是不變的一種規則。
一個英文字母(不分大小寫)佔一個位元組的空間,一個中文漢字占兩個位元組的空間。
符號:英文標點2佔一個位元組,中文標點占兩個位元組。
一般我們都是判斷字元串的長度,很少判斷有幾個位元組的。
⑹ java 怎麼判斷一串字元串,是不是6位的數字
1、首先判斷字元串長度是否是6位
Stringstr="";//需要判斷的字元串
if(str.length==6){//如果長度是6,則可能是6位數字,否則不可能6位的
}
2、通過轉換成數字捕獲異常,如果有異常,則不是數字,沒有異常,則是數字
try{
inta=Integer.valueOf(str);//轉換成數字,如果不是數字,則會拋出異常,進入catch中
System.out.println("是數字");//如果是數字,則會執行該語句。
}catch(Exceptionex){
}
3、結合上面兩個步驟,完成6位數字的判斷
if(str.length==6){//如果長度是6,則可能是6位數字,否則不可能6位的
ry{
inta=Integer.valueOf(str);//轉換成數字,如果不是數字,則會拋出異常,進入catch中
System.out.println("是6位數字");//如果是數字,則會執行該語句。
}catch(Exceptionex){
}
}
⑺ java如何判斷字元串為八位的字母字元
public static void main(String[] args) {
System.out.println("請輸入一個八位的字元串:");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
//判斷字元串是否是八位
if(str.length() != 8){
System.out.println("字元串不是八位");
return;
}
char [] c =str.toCharArray();
for (char c1 : c) {
//判斷c是否是字母字元,前面LowerCase是小寫,後面UpperCase是大寫,是返回True,否則返回False
if(!Character.isLowerCase(c1) && !Character.isUpperCase(c1)){
System.out.println("字元串有非字母的字元!");
return;
}
}
}
⑻ 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));
}
}