1字串的處理:string afterstr=str.split(";");//分號為分界符
2加強的for迴圈for
(string item : chars)
3字串比較大小
用 string.compareto 方法:compareto() 的返回值是int, 它是先比較對應字元的大小(ascii碼順序)
1、如果字串相等返回值0
2、如果第乙個字元和引數的第乙個字元不等,結束比較,返回他們之間的差值(ascii碼值)(負值前字串的值小於後字串,正值前字串大於後字串)
3、如果第乙個字元和引數的第乙個字元相等,則以第二個字元和引數的第二個字元做比較,以此類推,直至比較的字元或被比較的字元有一方全比較完,這時就比較字元的長度.
例: string s1 = "abc";
string s2 = "abcd";
string s3 = "abcdfg";
string s4 = "1bcdfg";
string s5 = "cdfg";
system.out.println( s1.compareto(s2) ); // -1 (前面相等,s1長度小1)
system.out.println( s1.compareto(s3) ); // -3 (前面相等,s1長度小3)
system.out.println( s1.compareto(s4) ); // 48 ("a"的ascii碼是97,"1"的的ascii碼是49,所以返回48)
system.out.println( s1.compareto(s5) ); // -2 ("a"的ascii碼是97,"c"的ascii碼是99,所以返回-2
有三種方法實現
第一種直接用字串類的compareto方法:
string t1=
"20131011"
;
string t2=
"20131030"
;
int
result = t1.compareto(t2);
第二種是把這個日期字串轉換成long:
******dateformat sdf =
new
******dateformat(
"yyyymmdd"
);
date d1 = sdf.parse(t1);
date d2 = sdf.parse(t2);
long
result = d1.gettime()-d2.gettime();
第三種是把日期字串轉換成整形int:
int
int1 = integer.parseint(t1);
int
int2 = integer.parseint(t2);
int
result = int1-int2;
注:result大於0,則t1>t2;
result等於0,則t1=t2;
result小於0,則t1
'20131011'.comapreto('20131030')
返回1表示大於,返回0表示相等,返回-1表示小於
千萬別把字串轉成啥日期或整數型別再比較,那會賊慢,迴圈1百萬遍就知道了
public class hello }
先用integer.parseint()轉型,再相減就ok
藍橋杯訓練day1
快速冪 題目描述 給定a,b,p,求 a b mod p。輸入輸入共一行。第一行有三個數,n,m,p。輸出輸出共一行,表示所求。共10組資料 對100 的資料,a,b為long long範圍內的非負整數,p為int內的非負整數。樣例輸入 2 5 3樣例輸出 21 初始的時候可以令res 1 2 判斷...
藍橋杯 數字統計 day1
題目 題目描述 請統計某個給定範圍 l,r 的所有整數中,數字 2 出現的次數。比如給定範圍 2,22 數字 2 在數 2 現了 1 次,在數 12 現 1 次,在數 20 現 1 次,在數 21 現 1 次,在數 22 現 2 次,所以數字 2 在該範圍內一共出現了 6 次。輸入描述 輸入共 1 ...
藍橋杯刷題 Day1
1.2020省賽 單詞分析 暴力 輸入一行包含乙個單詞,單詞只由小寫英文本母組成。對於所有的評測用例,輸入的單詞長度不超過 1000。輸出兩行,第一行包含乙個英文本母,表示單詞 現得最多的字母是哪 個。如果有多個字母出現的次數相等,輸出字典序最小的那個。第二行包含乙個整數,表示出現得最多的那個字母在...