有三種方法實(shí)現(xiàn)
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)個(gè)舊,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
第一種直接用字符串類的compareTo方法:
String?t1="20131011";
String?t2="20131030";
int?result?=?t1.compareTo(t2);
第二種是把這個(gè)日期字符串轉(zhuǎn)換成long:
SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyyMMdd");
Date?d1?=?sdf.parse(t1);
Date?d2?=?sdf.parse(t2);
long?result?=?d1.getTime()-d2.getTime();
第三種是把日期字符串轉(zhuǎn)換成整形int:
int?int1?=?Integer.parseInt(t1);
int?int2?=?Integer.parseInt(t2);
int?result?=?int1-int2;
注:result大于0,則t1t2;
result等于0,則t1=t2;
result小于0,則t1t2;
java中字符串的比較用的是equals方法。
代碼修改如下:
import java.io.*;
class GameHelper {
public String getUserInput(String prompt) {
String inputLine = null;
System.out.print(prompt + " ");
try {
BufferedReader is = new BufferedReader(new InputStreamReader(System.in));
inputLine = is.readLine();
if (inputLine.length() == 0)
return null;
} catch (Exception e) {
System.out.println("IOException: " + e);
}
return inputLine;
}
}
public class Demo {
public static void main (String[] arges) {
GameHelper helper = new GameHelper();
String input = helper.getUserInput("entrer a command");
if ( input.equals("-yes"))
System.out.println("yes");
else System.out.println("no");
}
}
只需將input == "-yes"改為input.equals("-yes")就行了,字符串型的比較不是用==,是用equals,int型和float型等的比較才能使用==來比較。
有兩種方法可以實(shí)現(xiàn):第一種方法是定義string字符串,然后通過for循環(huán)倒序遍歷字符串進(jìn)行輸出;第二種方法是通過stringbuffer定義字符串,然后調(diào)用stringbuffer的reverse()方法倒序輸出字符串。
具體代碼如下:
方法一:
public
class
demo
{
public
static
void
main(string[]
args)
{
string
str
=
"abc";
for(int
i=str.length()-1;i=0;i--){
system.out.print(str.charat(i));
}
}
}
方法二:
public
class
demo
{
public
static
void
main(string[]
args)
{
stringbuffer
buffer
=
new
stringbuffer("abc");
system.out.println(buffer.reverse());
}
}
stringbuffer類和string一樣,也用來代表字符串,只是由于stringbuffer的內(nèi)部實(shí)現(xiàn)方式和string不同,所以stringbuffer在進(jìn)行字符串處理時(shí),不生成新的對(duì)象,在內(nèi)存使用上要優(yōu)于string類。
int1 int2 ?long t1="= result 20131011"Integer;SimpleDateFormat("
有三種方法實(shí)現(xiàn)
第一種直接用字符串類的compareTo方法; t1; int yyyyMMdd" result小于0; ); nbsp.parseInt(t2);int int1-int2;Datenbsp; ?sdf;d1 SimpleDateFormat nbsp.getTime();int result sdf;注;Integer:result等于0,則t1=t2.compareTo(t2);t2; ;Date = d2 =nbsp: t2=" d1.getTime()-d2;=
第二種是把這個(gè)日期字符串轉(zhuǎn)換成long;= nbsp.parse(t2); ? = nbsp;String t2:nbsp.parseInt(t1); result ?String int new ,則t1 sdf =nbsp,則t1
第三種是把日期字符串轉(zhuǎn)換成整形int:result大于0.parse(t1);20131030" =nbsp
一種思路:用 SimpleDateFormat 來處理,可以轉(zhuǎn)成long形式的,那是1970年1月1日起到現(xiàn)在的毫秒數(shù)??梢灾苯颖却笮×?。另外一種思路:因?yàn)槟氵@里是用的補(bǔ)全格式(7月寫成了07),那么可以直接字面轉(zhuǎn)了比較 public static void main(String[] _s) { String str1 = "2010-07-16 12:00:00"; long longstr1 = Long.valueOf(str1.replaceAll("[-\\s:]","")); System.out.println(longstr1); }這個(gè)結(jié)果是20100716120000,就這個(gè)意思,直接字面轉(zhuǎn)成long形式后比。
使用 String.compareTo 方法:
compareTo() 的返回值是int, 它是先比較對(duì)應(yīng)字符的大小(ASCII碼順序)
1、如果字符串相等返回值0
2、如果第一個(gè)字符和參數(shù)的第一個(gè)字符不等,結(jié)束比較,返回他們之間的差值(ascii碼值)(負(fù)值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一個(gè)字符和參數(shù)的第一個(gè)字符相等,則以第二個(gè)字符和參數(shù)的第二個(gè)字符做比較,以此類推,直至比較的字符或被比較的字符有一方全比較完,這時(shí)就比較字符的長(zhǎng)度.
例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1長(zhǎng)度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1長(zhǎng)度小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)
網(wǎng)頁標(biāo)題:java字符串比較代碼 Java中字符串的比較
網(wǎng)頁路徑:http://m.rwnh.cn/article10/hisodo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、ChatGPT、域名注冊(cè)、服務(wù)器托管、網(wǎng)站制作、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)